libpjsip: Add Alsa option
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
@@ -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
@@ -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
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
@@ -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
@@ -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
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
@@ -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
@@ -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
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
@@ -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
@@ -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
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
@@ -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
@@ -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
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
@@ -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
@@ -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
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
@@ -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
@@ -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
PATCH v4 1/7 libpjsip: Add Alsa option
In reply to Adam DuskettHello,
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 supportSigned-off-by Adam Duskett <[email protected]>
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
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_DEBUGis not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
#BR2_PACKAGE_BUSYBOXis not set
#BR2_PACKAGE_ALSA_LIB_ALOADis not set
#BR2_PACKAGE_ALSA_LIB_RAWMIDIis not set
#BR2_PACKAGE_ALSA_LIB_HWDEPis not set
#BR2_PACKAGE_ALSA_LIB_SEQis not set
#BR2_PACKAGE_ALSA_LIB_ALISPis not set
#BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLSis 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_TARis 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/liboutput/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