Skip to contentSkip to conversation

libpjsip: Add Alsa option

PATCH New Adam Duskett 2 participants 9 messages Mar 12, 2018 – Mar 26, 2018

lore
Share & tools
lore
#0 lore raw

PATCH v4 1/7 libpjsip: Add Alsa option

This is the first patch in a series that will enable audio support for libpjsip. This patch does the following:

- Turn libpjsip into a menuconfig option
- Add a option for alsa support

---
Changes v1 -> v2:
- Remove the option to enable or disable alsa support in favor of just depending on alsa-lib if it's selected by the user.

Changes v2 -> v3:
- Make this patch the start of the series.
- Re-add the option to enable or disable support (Thomas)

Changes v3 -> v4:
- None

 package/libpjsip/Config.in   | 12 +++++++++++-
 package/libpjsip/libpjsip.mk |  8 +++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)
package/libpjsip/Config.in +11 -1
index 727d2ec3d0..0e03ebf7a3 100644
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_LIBPJSIP
+menuconfig BR2_PACKAGE_LIBPJSIP
 	bool "libpjsip"
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS
@@ -10,5 +10,15 @@ config BR2_PACKAGE_LIBPJSIP
 
 	  http://www.pjsip.org
 
+if BR2_PACKAGE_LIBPJSIP
+
+comment "sound"
+
+config BR2_PACKAGE_LIBPJSIP_ALSA
+	bool "alsa support"
+	select BR2_PACKAGE_ALSA_LIB
+
+endif #BR2_PACKAGE_LIBPJSIP
+
 comment "libpjsip needs a toolchain w/ C++, threads"
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
package/libpjsip/libpjsip.mk +7 -1
index 53b654d072..a584e8c73a 100644
@@ -25,7 +25,6 @@ LIBPJSIP_CONF_ENV = \
 	CFLAGS="$(LIBPJSIP_CFLAGS)"
 
 LIBPJSIP_CONF_OPTS = \
-	--disable-sound \
 	--disable-gsm-codec \
 	--disable-speex-codec \
 	--disable-speex-aec \
@@ -67,4 +66,11 @@ ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
 LIBPJSIP_DEPENDENCIES += util-linux
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_ALSA),y)
+LIBPJSIP_DEPENDENCIES += alsa-lib
+LIBPJSIP_CONF_OPTS += --enable-sound
+else
+LIBPJSIP_CONF_OPTS += --disable-sound
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.14.3
#1 lore raw

PATCH v4 2/7 libpjsip: add codecs without dependencies

libpjsip has several codecs, all of which can be disabled or enabled individually. A few reasons for adding each codec as an individual choice are:

1) Many products might not want some of the more obscure codecs such as ILBC or L16.

2) libpjsip has functions that will enumerate all the codecs that were built. If all the codecs where built, this would require a developer to have to parse out the codecs they don't want.

As such, turn libpjsip into a menuconfig and add each supported codec as an individual choice.

Start with the codecs that are built into libpjsip and have no external dependencies. These codecs are:
- G.711
- G.722
- G.722.1
- iLBC
- L16

---
Changes v1 -> v2:
- Combine all dependency-less codecs into a single patch.
- Add a more-detailed commit message explaining the reasoning for enabling each codec as a individual option. (Arnout)

Changes v2 -> v3:
- None

Changes v3 -> v4:
- None

 package/libpjsip/Config.in   | 17 +++++++++++++++++
 package/libpjsip/libpjsip.mk | 32 +++++++++++++++++++++++++++-----
 2 files changed, 44 insertions(+), 5 deletions(-)
package/libpjsip/Config.in +17 -0
index 0e03ebf7a3..829ed1ede7 100644
@@ -18,6 +18,23 @@ config BR2_PACKAGE_LIBPJSIP_ALSA
 	bool "alsa support"
 	select BR2_PACKAGE_ALSA_LIB
 
+comment "dependency-less codecs"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_G711
+	bool "G.711"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_G722
+	bool "G.722"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_G7221
+	bool "G.722.1"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_ILBC
+	bool "iLBC"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_L16
+	bool "L16"
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
package/libpjsip/libpjsip.mk +27 -5
index a584e8c73a..7b643f5fa5 100644
@@ -31,15 +31,10 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-resample \
 	--disable-video \
 	--disable-opencore-amr \
-	--disable-g7221-codec \
-	--disable-ilbc-codec \
 	--disable-libwebrtc \
 	--disable-opus \
 	--disable-oss \
 	--disable-ext-sound \
-	--disable-g711-codec \
-	--disable-l16-codec \
-	--disable-g722-codec \
 	--disable-libsamplerate \
 	--disable-sdl \
 	--disable-ffmpeg \
@@ -73,4 +68,31 @@ else
 LIBPJSIP_CONF_OPTS += --disable-sound
 endif
 
+# Codecs can only be disabled. If explicitly enabled, the check is
+# omitted (but successful), and there is no configure trace "Checking
+# if [codec] codec is disabled...no". So we only explicitly disable it
+# and we do not explicitly enable it, so we get the configure log in
+# both cases.
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G711),y)
+LIBPJSIP_CONF_OPTS += --disable-g711-codec
+endif
+
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G722),y)
+LIBPJSIP_CONF_OPTS += --disable-g722-codec
+endif
+
+# libpjsip can only use a bundled version of libg7221
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G7221),y)
+LIBPJSIP_CONF_OPTS += --disable-g7221-codec
+endif
+
+# libpjsip can only use a bundled version of libilbc
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_ILBC),y)
+LIBPJSIP_CONF_OPTS += --disable-ilbc-codec
+endif
+
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_L16),y)
+LIBPJSIP_CONF_OPTS += --disable-l16-codec
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.14.3
#2 lore raw

PATCH v4 3/7 libpjsip: enable bcg729 codec

In reply to Adam Duskett

---
Changes v1 -> v4:
- Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 6 ++++++
 package/libpjsip/libpjsip.mk | 8 ++++++++
 2 files changed, 14 insertions(+)
package/libpjsip/Config.in +6 -0
index 829ed1ede7..123eceae06 100644
@@ -35,6 +35,12 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_ILBC
 config BR2_PACKAGE_LIBPJSIP_CODEC_L16
 	bool "L16"
 
+comment "Codecs with external dependencies"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_BCG729
+	bool "BCG729"
+	select BR2_PACKAGE_BCG729
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
package/libpjsip/libpjsip.mk +8 -0
index 7b643f5fa5..67c8ad0dfd 100644
@@ -95,4 +95,12 @@ ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_L16),y)
 LIBPJSIP_CONF_OPTS += --disable-l16-codec
 endif
 
+# Codecs with external dependencies
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_BCG729),y)
+LIBPJSIP_DEPENDENCIES += bcg729
+LIBPJSIP_CONF_OPTS += --with-bcg729=$(STAGING_DIR)/usr
+else
+LIBPJSIP_CONF_OPTS += --disable-bcg729
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.14.3
#3 lore raw

PATCH v4 4/7 libpjsip: enable gsm codec

In reply to Adam Duskett

---
Changes v1 -> v4:
- Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 8 ++++++++
 package/libpjsip/libpjsip.mk | 8 +++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)
package/libpjsip/Config.in +8 -0
index 123eceae06..45b05cf2b2 100644
@@ -41,6 +41,14 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_BCG729
 	bool "BCG729"
 	select BR2_PACKAGE_BCG729
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
+	bool "GSM"
+	depends on !BR2_STATIC_LIBS # libgsm
+	select BR2_PACKAGE_LIBGSM
+
+comment "GSM codec needs a toolchain w/ shared libraries"
+	depends on BR2_STATIC_LIBS
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
package/libpjsip/libpjsip.mk +7 -1
index 67c8ad0dfd..64cdb08d01 100644
@@ -25,7 +25,6 @@ LIBPJSIP_CONF_ENV = \
 	CFLAGS="$(LIBPJSIP_CFLAGS)"
 
 LIBPJSIP_CONF_OPTS = \
-	--disable-gsm-codec \
 	--disable-speex-codec \
 	--disable-speex-aec \
 	--disable-resample \
@@ -103,4 +102,11 @@ else
 LIBPJSIP_CONF_OPTS += --disable-bcg729
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_GSM),y)
+LIBPJSIP_DEPENDENCIES += libgsm
+LIBPJSIP_CONF_OPTS += --with-external-gsm
+else
+LIBPJSIP_CONF_OPTS += --disable-gsm-codec
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.14.3
#4 lore raw

PATCH v4 5/7 libpjsip: enable opencore-amr codec

In reply to Adam Duskett

---
Changes v1 -> v4:
- Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 4 ++++
 package/libpjsip/libpjsip.mk | 8 +++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)
package/libpjsip/Config.in +4 -0
index 45b05cf2b2..a7bbd866ea 100644
@@ -49,6 +49,10 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
 comment "GSM codec needs a toolchain w/ shared libraries"
 	depends on BR2_STATIC_LIBS
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR
+	bool "Opencore-amr"
+	select BR2_PACKAGE_OPENCORE_AMR
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
package/libpjsip/libpjsip.mk +7 -1
index 64cdb08d01..2ea0da3f77 100644
@@ -29,7 +29,6 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-speex-aec \
 	--disable-resample \
 	--disable-video \
-	--disable-opencore-amr \
 	--disable-libwebrtc \
 	--disable-opus \
 	--disable-oss \
@@ -109,4 +108,11 @@ else
 LIBPJSIP_CONF_OPTS += --disable-gsm-codec
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR),y)
+LIBPJSIP_DEPENDENCIES += opencore-amr
+LIBPJSIP_CONF_OPTS += --with-opencore-amr
+else
+LIBPJSIP_CONF_OPTS += --disable-opencore-amr
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.14.3
#5 lore raw

PATCH v4 6/7 libpjsip: enable opus codec

In reply to Adam Duskett

---
Changes v1 -> v4:
- Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 4 ++++
 package/libpjsip/libpjsip.mk | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)
package/libpjsip/Config.in +4 -0
index a7bbd866ea..028339f319 100644
@@ -53,6 +53,10 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR
 	bool "Opencore-amr"
 	select BR2_PACKAGE_OPENCORE_AMR
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_OPUS
+	bool "Opus"
+	select BR2_PACKAGE_OPUS
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
package/libpjsip/libpjsip.mk +6 -1
index 2ea0da3f77..943a99bc5a 100644
@@ -30,7 +30,6 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-resample \
 	--disable-video \
 	--disable-libwebrtc \
-	--disable-opus \
 	--disable-oss \
 	--disable-ext-sound \
 	--disable-libsamplerate \
@@ -115,4 +114,10 @@ else
 LIBPJSIP_CONF_OPTS += --disable-opencore-amr
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_OPUS),y)
+LIBPJSIP_DEPENDENCIES += opus
+else
+LIBPJSIP_CONF_OPTS += --disable-opus
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.14.3
#6 lore raw

PATCH v4 7/7 libpjsip: enable speex codec

In reply to Adam Duskett

---
Changes v1 -> v4:
- Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 4 ++++
 package/libpjsip/libpjsip.mk | 9 +++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)
package/libpjsip/Config.in +4 -0
index 028339f319..3687d51824 100644
@@ -57,6 +57,10 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_OPUS
 	bool "Opus"
 	select BR2_PACKAGE_OPUS
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX
+	bool "Speex"
+	select BR2_PACKAGE_SPEEX
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
package/libpjsip/libpjsip.mk +7 -2
index 943a99bc5a..e4b859257b 100644
@@ -25,8 +25,6 @@ LIBPJSIP_CONF_ENV = \
 	CFLAGS="$(LIBPJSIP_CFLAGS)"
 
 LIBPJSIP_CONF_OPTS = \
-	--disable-speex-codec \
-	--disable-speex-aec \
 	--disable-resample \
 	--disable-video \
 	--disable-libwebrtc \
@@ -120,4 +118,11 @@ else
 LIBPJSIP_CONF_OPTS += --disable-opus
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX),y)
+LIBPJSIP_DEPENDENCIES += speex
+LIBPJSIP_CONF_OPTS += --with-external-speex
+else
+LIBPJSIP_CONF_OPTS += --disable-speex-codec --disable-speex-aec
+endif
+
 $(eval $(autotools-package))
Signature · 1 line
2.14.3
#7 lore raw

PATCH v4 1/7 libpjsip: Add Alsa option

In reply to Adam Duskett

Hello,

Quoted 7 lines · Adam Duskett

This is the first patch in a series that will enable audio support for libpjsip. This patch does the following:

- Turn libpjsip into a menuconfig option
- Add a option for alsa support

I've applied your patches, did a few tweaks, but I have some issues. Could you restart from what I've done at:

https://git.bootlin.com/users/thomas-petazzoni/buildroot/log/?h=pjsip-improvements

The improvements I've done are:

- Tweak the commit titles

- Use the --enable-<foo> options for the dependency-less codecs, since those options definitely exist.

- Minor other formatting tweaks.

- Select BR2_PACKAGE_ALSA_LIB_MIXER in the first patch, otherwise the build fails when this option is disabled.

Unfortunately, with all this, I see two problems. The first problem is that the link command line contains flags like -Lyes/lib. This is due to constructs such as:

LDFLAGS="$LDFLAGS -L$with_opencore_amr/lib"

So when you pass --with-opencore-amr, $with_opencore_amr has the value "yes". You should change such options to --with-opencore-amr=$(STAGING_DIR)/usr instead.

The second problem is that the following defconfig fails to build:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
# BR2_PACKAGE_ALSA_LIB_ALOAD is not set
# BR2_PACKAGE_ALSA_LIB_RAWMIDI is not set
# BR2_PACKAGE_ALSA_LIB_HWDEP is not set
# BR2_PACKAGE_ALSA_LIB_SEQ is not set
# BR2_PACKAGE_ALSA_LIB_ALISP is not set
# BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS is not set
BR2_PACKAGE_LIBPJSIP=y
BR2_PACKAGE_LIBPJSIP_ALSA=y
BR2_PACKAGE_LIBPJSIP_CODEC_G711=y
BR2_PACKAGE_LIBPJSIP_CODEC_G722=y
BR2_PACKAGE_LIBPJSIP_CODEC_G7221=y
BR2_PACKAGE_LIBPJSIP_CODEC_ILBC=y
BR2_PACKAGE_LIBPJSIP_CODEC_L16=y
BR2_PACKAGE_LIBPJSIP_CODEC_BCG729=y
BR2_PACKAGE_LIBPJSIP_CODEC_GSM=y
BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR=y
BR2_PACKAGE_LIBPJSIP_CODEC_OPUS=y
BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX=y
# BR2_TARGET_ROOTFS_TAR is not set

Could you have a look, fix those problems, and send an updated version ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#8 lore raw

PATCH v4 1/7 libpjsip: Add Alsa option

Hello,

Quoted 26 lines · Thomas Petazzoni

The second problem is that the following defconfig fails to build:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
# BR2_PACKAGE_ALSA_LIB_ALOAD is not set
# BR2_PACKAGE_ALSA_LIB_RAWMIDI is not set
# BR2_PACKAGE_ALSA_LIB_HWDEP is not set
# BR2_PACKAGE_ALSA_LIB_SEQ is not set
# BR2_PACKAGE_ALSA_LIB_ALISP is not set
# BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS is not set
BR2_PACKAGE_LIBPJSIP=y
BR2_PACKAGE_LIBPJSIP_ALSA=y
BR2_PACKAGE_LIBPJSIP_CODEC_G711=y
BR2_PACKAGE_LIBPJSIP_CODEC_G722=y
BR2_PACKAGE_LIBPJSIP_CODEC_G7221=y

Quoted 8 lines

BR2_PACKAGE_LIBPJSIP_CODEC_ILBC=y
BR2_PACKAGE_LIBPJSIP_CODEC_L16=y
BR2_PACKAGE_LIBPJSIP_CODEC_BCG729=y
BR2_PACKAGE_LIBPJSIP_CODEC_GSM=y
BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR=y
BR2_PACKAGE_LIBPJSIP_CODEC_OPUS=y
BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX=y
# BR2_TARGET_ROOTFS_TAR is not set

It fails like this:

if test ! -d ../bin; then mkdir -p ../bin; fi
/home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -o ../bin/pjmedia-test-arm-buildroot-linux-uclibcgnueabi \
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/codec_vectors.o output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/jbuf_test.o output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/main.o output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/vid_codec_test.o output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/vid_dev_test.o output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/vid_port_test.o output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/rtp_test.o output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/test.o output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/sdp_neg_test.o -lpjmedia-codec -lpjmedia-videodev -lpjmedia-audiodev -lpjmedia -lpjnath -lpjlib-util -lpj -lilbccodec -lg7221codec -lsrtp -lgsm -lspeex -lspeexdsp
-L/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -Lyes/lib -lbcg729 -lopus -lm -lrt -lpthread -lasound -lopencore-amrnb -lopencore-amrwb -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjlib/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjlib-util/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjnath/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjmedia/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjsip/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/third_party/lib -L/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib -Lyes/lib
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `amr_encode_decode':
mips_test.c:(.text+0x1ba8): undefined reference to `pjmedia_codec_opencore_amrnb_init'
mips_test.c:(.text+0x1bac): undefined reference to `pjmedia_codec_opencore_amrnb_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `speex16_encode_decode':
mips_test.c:(.text+0x1bfc): undefined reference to `pjmedia_codec_speex_init_default'
mips_test.c:(.text+0x1c00): undefined reference to `pjmedia_codec_speex_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `speex8_encode_decode':
mips_test.c:(.text+0x1c50): undefined reference to `pjmedia_codec_speex_init_default'
mips_test.c:(.text+0x1c54): undefined reference to `pjmedia_codec_speex_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `gsm_encode_decode':
mips_test.c:(.text+0x1d10): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x1d14): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_amr':
mips_test.c:(.text+0x21b0): undefined reference to `pjmedia_codec_opencore_amrnb_init'
mips_test.c:(.text+0x21b4): undefined reference to `pjmedia_codec_opencore_amrnb_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm_srtp80_with_auth':
mips_test.c:(.text+0x2228): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x222c): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm_srtp80_no_auth':
mips_test.c:(.text+0x22a4): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x22a8): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm_srtp32_with_auth':
mips_test.c:(.text+0x231c): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x2320): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm_srtp32_no_auth':
mips_test.c:(.text+0x2398): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x239c): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm':
mips_test.c:(.text+0x2410): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x2414): undefined reference to `pjmedia_codec_gsm_deinit'
collect2: error: ld returned 1 exit status
make[4]: *** [/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/build/rules.mak:125: ../bin/pjmedia-test-arm-buildroot-linux-uclibcgnueabi] Error 1
make[3]: *** [Makefile:243: pjmedia-test-arm-buildroot-linux-uclibcgnueabi] Error 2
make[2]: *** [Makefile:14: all] Error 1
make[1]: *** [package/pkg-generic.mk:224: /home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/.stamp_built] Error 2
make: *** [Makefile:79: _all] Error 2

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com