qaul / qaul.net

Internet Independent Wireless Mesh Communication App
https://qaul.net
GNU Affero General Public License v3.0
517 stars 62 forks source link

qaul-cli linking failes when opencore-amr libraries are installed #101

Closed MathJud closed 8 years ago

MathJud commented 8 years ago

When the libraries libopencore-amrnb-dev and libopencore-amrwb-dev are installed. qaul-cli failes to link pjsip's libpjmedia-codec due to undefined references:

Linking C executable qaul-cli
cd /home/sojus/src/meshnet/qaul.net_clean/build/src/client/cli && /usr/bin/cmake -E cmake_link_script CMakeFiles/qaul-cli.dir/link.txt --verbose=1
/usr/bin/cc      CMakeFiles/qaul-cli.dir/main.c.o  -o qaul-cli -rdynamic -lpthread ../../libqaul/libqaul.a -lopencore-amrnb -lopencore-amrwb ../../../third_party/pjsip/src/pjsip/pjsip/lib/libpjsua-qaul.a ../../../third_party/pjsip/src/pjsip/pjsip/lib/libpjsip-ua-qaul.a ../../../third_party/pjsip/src/pjsip/pjsip/lib/libpjsip-qaul.a ../../../third_party/pjsip/src/pjsip/pjsip/lib/libpjsip-simple-qaul.a ../../../third_party/pjsip/src/pjsip/pjmedia/lib/libpjmedia-codec-qaul.a ../../../third_party/pjsip/src/pjsip/pjmedia/lib/libpjmedia-qaul.a ../../../third_party/pjsip/src/pjsip/pjmedia/lib/libpjmedia-audiodev-qaul.a ../../../third_party/pjsip/src/pjsip/pjmedia/lib/libpjmedia-videodev-qaul.a ../../../third_party/pjsip/src/pjsip/pjnath/lib/libpjnath-qaul.a ../../../third_party/pjsip/src/pjsip/pjlib-util/lib/libpjlib-util-qaul.a ../../../third_party/pjsip/src/pjsip/third_party/lib/libg7221codec-qaul.a ../../../third_party/pjsip/src/pjsip/third_party/lib/libgsmcodec-qaul.a ../../../third_party/pjsip/src/pjsip/third_party/lib/libilbccodec-qaul.a ../../../third_party/pjsip/src/pjsip/third_party/lib/libportaudio-qaul.a ../../../third_party/pjsip/src/pjsip/third_party/lib/libresample-qaul.a ../../../third_party/pjsip/src/pjsip/third_party/lib/libspeex-qaul.a ../../../third_party/pjsip/src/pjsip/third_party/lib/libsrtp-qaul.a ../../../third_party/pjsip/src/pjsip/pjlib/lib/libpj-qaul.a -ldl -lm -lpthread -lasound 
../../../third_party/pjsip/src/pjsip/pjmedia/lib/libpjmedia-codec-qaul.a(opencore_amr.o): In function `amr_codec_decode':
opencore_amr.c:(.text+0x3c0): undefined reference to `Decoder_Interface_Decode'
../../../third_party/pjsip/src/pjsip/pjmedia/lib/libpjmedia-codec-qaul.a(opencore_amr.o): In function `amr_codec_encode':
opencore_amr.c:(.text+0x5e2): undefined reference to `Encoder_Interface_Encode'
../../../third_party/pjsip/src/pjsip/pjmedia/lib/libpjmedia-codec-qaul.a(opencore_amr.o): In function `amr_codec_close':
opencore_amr.c:(.text+0xe29): undefined reference to `Decoder_Interface_exit'
opencore_amr.c:(.text+0xe31): undefined reference to `Encoder_Interface_exit'
../../../third_party/pjsip/src/pjsip/pjmedia/lib/libpjmedia-codec-qaul.a(opencore_amr.o): In function `amr_codec_modify':
opencore_amr.c:(.text+0xebe): undefined reference to `Encoder_Interface_exit'
opencore_amr.c:(.text+0xec6): undefined reference to `Encoder_Interface_init'
../../../third_party/pjsip/src/pjsip/pjmedia/lib/libpjmedia-codec-qaul.a(opencore_amr.o): In function `amr_codec_open':
opencore_amr.c:(.text+0x12d1): undefined reference to `Encoder_Interface_init'
opencore_amr.c:(.text+0x12f1): undefined reference to `Decoder_Interface_init'
collect2: error: ld returned 1 exit status
make[2]: *** [src/client/cli/qaul-cli] Error 1
make[2]: Leaving directory `/home/sojus/src/meshnet/qaul.net_clean/build'
make[1]: *** [src/client/cli/CMakeFiles/qaul-cli.dir/all] Error 2
make[1]: Leaving directory `/home/sojus/src/meshnet/qaul.net_clean/build'
make: *** [all] Error 2
MathJud commented 8 years ago

A quick fix would be to disable opencore-amr in pjsip.