Re: Linker errors when building with video enabled on 2.7.2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



For anyone interested, I’ve solved the issue.  What was happening is that the build wasn’t actually replacing the shared library files that were being produced from the build.  Once I went in and manually removed the old files from /home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr everything worked.  I’m not sure if this is a pjsip build bug or an implementation issue with buildroot that was causing the shared libraries to not be replaced.

 

-Taylor

 

From: pjsip <pjsip-bounces@xxxxxxxxxxxxxxx> On Behalf Of Taylor Prins
Sent: Friday, August 2, 2019 9:26 AM
To: pjsip@xxxxxxxxxxxxxxx
Subject: Linker errors when building with video enabled on 2.7.2

 

I’m attempting to build pjsip 2.7.2 with video enabled for an embedded application.  When attempting to build, I always end up with linker errors when pj attempts to build the video tests files.  The build environment I’m using is buildroot on Fedora 27.  I have a full build log that I can post if needed.

 

For reference, here is my config:

./configure --target=arm-buildroot-linux-gnueabihf --host=arm-buildroot-linux-gnueabihf --build=x86_64-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --program-prefix="" --disable-gtk-doc --disable-gtk-doc-html --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --disable-dependency-tracking --enable-ipv6 --enable-nls --disable-static --enable-shared  --disable-ipp --disable-silk --with-external-srtp --enable-gpl --enable-libx264 --enable-video --with-sdl=/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr --with-openh264=/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr --enable-epoll --with-ssl --disable-oss --with-ffmpeg=/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr --with-bcg729=/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr --with-external-gsm --disable-opencore-amr --with-external-speex

Build failure:

if test ! -d ../bin; then mkdir -p ../bin; fi
/home/linuxbuild/build/ecos_init/ecos/output/root/host/bin/arm-linux-gcc -o ../bin/pjmedia-test-arm-buildroot-linux-gnueabihf \
     output/pjmedia-test-arm-buildroot-linux-gnueabihf/codec_vectors.o  output/pjmedia-test-arm-buildroot-linux-gnueabihf/jbuf_test.o  output/pjmedia-test-arm-buildroot-linux-gnueabihf/main.o  output/pjmedia-test-arm-buildroot-linux-gnueabihf/mips_test.o  output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_codec_test.o  output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_dev_test.o  output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_port_test.o  output/pjmedia-test-arm-buildroot-linux-gnueabihf/rtp_test.o  output/pjmedia-test-arm-buildroot-linux-gnueabihf/test.o  output/pjmedia-test-arm-buildroot-linux-gnueabihf/sdp_neg_test.o -lpjmedia-codec -lpjmedia-videodev -lpjmedia-audiodev -lpjmedia -lpjnath -lpjlib-util -lpj  -lresample -lilbccodec -lg7221codec -lyuv -lwebrtc  -lsrtp -lgsm -lspeex -lspeexdsp  -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib  -Lyes/lib -lbcg729 -lopus -lssl -lcrypto -lopenh264 -lstdc++ -luuid -lm -lrt -lpthread  -lasound  -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/bin/../arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lavdevice -lavformat -lavcodec  -lavutil   -lv4l2   -L/home/linuxbuild/build/ecos_init/ecos/output/root/build/libpjsip-2.7.2/pjlib/lib -L/home/linuxbuild/build/ecos_init/ecos/output/root/build/libpjsip-2.7.2/pjlib-util/lib -L/home/linuxbuild/build/ecos_init/ecos/output/root/build/libpjsip-2.7.2/pjnath/lib -L/home/linuxbuild/build/ecos_init/ecos/output/root/build/libpjsip-2.7.2/pjmedia/lib -L/home/linuxbuild/build/ecos_init/ecos/output/root/build/libpjsip-2.7.2/pjsip/lib -L/home/linuxbuild/build/ecos_init/ecos/output/root/build/libpjsip-2.7.2/third_party/lib  -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/bin/../arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lavdevice -lavformat -lavcodec  -lavutil   -lv4l2 -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lopenh264 -lstdc++  -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/bin/../arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lavdevice -lavformat -lavcodec  -lavutil   -lv4l2 -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lopenh264 -lstdc++ -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib  -Lyes/lib  -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/bin/../arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lavdevice -lavformat -lavcodec  -lavutil   -lv4l2 -L/home/linuxbuild/build/ecos_init/ecos/output/root/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -lopenh264 -lstdc++
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_codec_test.o: In function `codec_on_event.part.0':
vid_codec_test.c:(.text+0x2c): undefined reference to `pjmedia_vid_port_get_stream'
vid_codec_test.c:(.text+0x38): undefined reference to `pjmedia_vid_dev_stream_set_cap'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_codec_test.o: In function `codec_put_frame':
vid_codec_test.c:(.text+0x148): undefined reference to `pjmedia_vid_port_get_passive_port'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_codec_test.o: In function `enum_codecs':
vid_codec_test.c:(.text+0x224): undefined reference to `pjmedia_vid_codec_mgr_enum_codecs'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_codec_test.o: In function `encode_decode_test':
vid_codec_test.c:(.text+0x3d8): undefined reference to `pjmedia_vid_codec_mgr_find_codecs_by_id'
vid_codec_test.c:(.text+0x3fc): undefined reference to `pjmedia_vid_dev_lookup'
vid_codec_test.c:(.text+0x41c): undefined reference to `pjmedia_vid_dev_lookup'
vid_codec_test.c:(.text+0x454): undefined reference to `pjmedia_vid_codec_mgr_find_codecs_by_id'
vid_codec_test.c:(.text+0x46c): undefined reference to `pjmedia_vid_codec_mgr_get_default_param'
vid_codec_test.c:(.text+0x48c): undefined reference to `pjmedia_vid_codec_mgr_alloc_codec'
vid_codec_test.c:(.text+0x514): undefined reference to `pjmedia_vid_port_param_default'
vid_codec_test.c:(.text+0x524): undefined reference to `pjmedia_vid_dev_default_param'
vid_codec_test.c:(.text+0x578): undefined reference to `pjmedia_format_get_video_format_detail'
vid_codec_test.c:(.text+0x594): undefined reference to `pjmedia_vid_port_create'
vid_codec_test.c:(.text+0x5cc): undefined reference to `pjmedia_vid_port_create'
vid_codec_test.c:(.text+0x668): undefined reference to `pjmedia_vid_port_connect'
vid_codec_test.c:(.text+0x6e0): undefined reference to `pjmedia_vid_port_start'
vid_codec_test.c:(.text+0x6f0): undefined reference to `pjmedia_vid_port_start'
vid_codec_test.c:(.text+0x714): undefined reference to `pjmedia_vid_port_stop'
vid_codec_test.c:(.text+0x724): undefined reference to `pjmedia_vid_port_stop'
vid_codec_test.c:(.text+0x734): undefined reference to `pjmedia_vid_port_destroy'
vid_codec_test.c:(.text+0x744): undefined reference to `pjmedia_vid_port_destroy'
vid_codec_test.c:(.text+0x780): undefined reference to `pjmedia_vid_codec_mgr_dealloc_codec'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_codec_test.o: In function `vid_codec_test':
vid_codec_test.c:(.text+0x894): undefined reference to `pjmedia_vid_dev_subsys_init'
vid_codec_test.c:(.text+0x8a8): undefined reference to `pjmedia_codec_openh264_vid_init'
vid_codec_test.c:(.text+0x8bc): undefined reference to `pjmedia_codec_ffmpeg_vid_init'
vid_codec_test.c:(.text+0x944): undefined reference to `pjmedia_codec_ffmpeg_vid_deinit'
vid_codec_test.c:(.text+0x948): undefined reference to `pjmedia_codec_openh264_vid_deinit'
vid_codec_test.c:(.text+0x94c): undefined reference to `pjmedia_vid_dev_subsys_shutdown'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_dev_test.o: In function `enum_devs':
vid_dev_test.c:(.text+0x64): undefined reference to `pjmedia_vid_dev_count'
vid_dev_test.c:(.text+0x9c): undefined reference to `pjmedia_vid_dev_get_info'
vid_dev_test.c:(.text+0x15c): undefined reference to `pjmedia_get_video_format_info'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_dev_test.o: In function `loopback_test':
vid_dev_test.c:(.text+0x248): undefined reference to `pjmedia_vid_dev_count'
vid_dev_test.c:(.text+0x27c): undefined reference to `pjmedia_vid_dev_get_info'
vid_dev_test.c:(.text+0x2dc): undefined reference to `pjmedia_vid_dev_get_info'
vid_dev_test.c:(.text+0x330): undefined reference to `pjmedia_format_init_video'
vid_dev_test.c:(.text+0x370): undefined reference to `pjmedia_vid_dev_get_info'
vid_dev_test.c:(.text+0x38c): undefined reference to `pjmedia_vid_dev_get_info'
vid_dev_test.c:(.text+0x3ac): undefined reference to `pjmedia_get_video_format_info'
vid_dev_test.c:(.text+0x418): undefined reference to `pjmedia_vid_port_param_default'
vid_dev_test.c:(.text+0x428): undefined reference to `pjmedia_vid_dev_default_param'
vid_dev_test.c:(.text+0x490): undefined reference to `pjmedia_format_get_video_format_detail'
vid_dev_test.c:(.text+0x4b0): undefined reference to `pjmedia_vid_port_create'
vid_dev_test.c:(.text+0x4c8): undefined reference to `pjmedia_vid_dev_default_param'
vid_dev_test.c:(.text+0x51c): undefined reference to `pjmedia_vid_port_create'
vid_dev_test.c:(.text+0x544): undefined reference to `pjmedia_vid_port_get_passive_port'
vid_dev_test.c:(.text+0x554): undefined reference to `pjmedia_vid_port_connect'
vid_dev_test.c:(.text+0x564): undefined reference to `pjmedia_vid_port_start'
vid_dev_test.c:(.text+0x574): undefined reference to `pjmedia_vid_port_start'
vid_dev_test.c:(.text+0x5b4): undefined reference to `pjmedia_vid_port_stop'
vid_dev_test.c:(.text+0x5c4): undefined reference to `pjmedia_vid_port_stop'
vid_dev_test.c:(.text+0x5d4): undefined reference to `pjmedia_vid_port_destroy'
vid_dev_test.c:(.text+0x5fc): undefined reference to `pjmedia_vid_port_destroy'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_dev_test.o: In function `vid_dev_test':
vid_dev_test.c:(.text+0x6a4): undefined reference to `pjmedia_vid_dev_subsys_init'
vid_dev_test.c:(.text+0x6c8): undefined reference to `pjmedia_vid_dev_subsys_shutdown'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_port_test.o: In function `find_device':
vid_port_test.c:(.text+0x44): undefined reference to `pjmedia_vid_dev_count'
vid_port_test.c:(.text+0x64): undefined reference to `pjmedia_vid_dev_get_info'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_port_test.o: In function `capture_render_loopback':
vid_port_test.c:(.text+0x10c): undefined reference to `pjmedia_vid_dev_get_info'
vid_port_test.c:(.text+0x128): undefined reference to `pjmedia_vid_dev_get_info'
vid_port_test.c:(.text+0x148): undefined reference to `pjmedia_get_video_format_info'
vid_port_test.c:(.text+0x1b0): undefined reference to `pjmedia_vid_port_param_default'
vid_port_test.c:(.text+0x1c0): undefined reference to `pjmedia_vid_dev_default_param'
vid_port_test.c:(.text+0x224): undefined reference to `pjmedia_format_get_video_format_detail'
vid_port_test.c:(.text+0x240): undefined reference to `pjmedia_vid_port_create'
vid_port_test.c:(.text+0x258): undefined reference to `pjmedia_vid_dev_default_param'
vid_port_test.c:(.text+0x2b4): undefined reference to `pjmedia_vid_port_create'
vid_port_test.c:(.text+0x2f0): undefined reference to `pjmedia_vid_port_get_passive_port'
vid_port_test.c:(.text+0x300): undefined reference to `pjmedia_vid_port_connect'
vid_port_test.c:(.text+0x310): undefined reference to `pjmedia_vid_port_start'
vid_port_test.c:(.text+0x320): undefined reference to `pjmedia_vid_port_start'
vid_port_test.c:(.text+0x364): undefined reference to `pjmedia_vid_port_stop'
vid_port_test.c:(.text+0x374): undefined reference to `pjmedia_vid_port_stop'
vid_port_test.c:(.text+0x384): undefined reference to `pjmedia_vid_port_destroy'
vid_port_test.c:(.text+0x3ac): undefined reference to `pjmedia_vid_port_destroy'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/vid_port_test.o: In function `vid_port_test':
vid_port_test.c:(.text+0x45c): undefined reference to `pjmedia_vid_dev_subsys_init'
vid_port_test.c:(.text+0x4e4): undefined reference to `pjmedia_vid_dev_subsys_shutdown'
vid_port_test.c:(.text+0x5d8): undefined reference to `pjmedia_format_init_video'
output/pjmedia-test-arm-buildroot-linux-gnueabihf/test.o: In function `test_main':
test.c:(.text+0xe0): undefined reference to `pjmedia_video_format_mgr_create'
test.c:(.text+0x108): undefined reference to `pjmedia_vid_codec_mgr_create'
test.c:(.text+0x4b4): undefined reference to `pjmedia_video_format_mgr_instance'
test.c:(.text+0x4b8): undefined reference to `pjmedia_video_format_mgr_destroy'
test.c:(.text+0x4cc): undefined reference to `pjmedia_vid_codec_mgr_instance'
test.c:(.text+0x4d0): undefined reference to `pjmedia_vid_codec_mgr_destroy'
collect2: error: ld returned 1 exit status
make[5]: *** [/home/linuxbuild/build/ecos_init/ecos/output/root/build/libpjsip-2.7.2/build/rules.mak:125: ../bin/pjmedia-test-arm-buildroot-linux-gnueabihf] Error 1
make[4]: *** [Makefile:243: pjmedia-test-arm-buildroot-linux-gnueabihf] Error 2
make[3]: *** [Makefile:14: all] Error 1
make[2]: *** [package/pkg-generic.mk:224: /home/linuxbuild/build/ecos_init/ecos/output/root/build/libpjsip-2.7.2/.stamp_built] Error 2

 

Taylor Prins

Senior Embedded Software Engineer | Code Blue Corporation

tprins@xxxxxxxxxxxx | www.codeblue.com

o: 616-355-8482 | f: 616-392-8391

 

Follow us on Social Media:

Facebook | Twitter | LinkedIn | YouTube

 

email_sig_centry_release

 

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@xxxxxxxxxxxxxxx
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux