Chauncy-X / doubango

Automatically exported from code.google.com/p/doubango
1 stars 0 forks source link

/usr/local/lib/libyuv.a: could not read symbols: Malformed archive #153

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Compile libyuv as described in the Wiki
2. Compile Doubango with the --with-yuv configure option

What is the expected output? What do you see instead?
Expected output is that Doubango compiles without errors but what happens 
instead is that I get the following error and compiling stops:

/bin/bash ../libtool --tag=CXX   --mode=link g++  -g -O2 DFLAGS -no-undefined  
-o libtinyDAV.la -rpath /usr/local/lib libtinyDAV_la-tdav.lo 
libtinyDAV_la-tdav_session_av.lo libtinyDAV_la-tdav_consumer_audio.lo 
libtinyDAV_la-tdav_speakup_jitterbuffer.lo libtinyDAV_la-tdav_jitterbuffer.lo 
libtinyDAV_la-tdav_producer_audio.lo libtinyDAV_la-tdav_session_audio.lo 
libtinyDAV_la-tdav_speex_denoise.lo libtinyDAV_la-tdav_speex_jitterbuffer.lo 
libtinyDAV_la-tdav_speex_resampler.lo libtinyDAV_la-tdav_webrtc_denoise.lo 
libtinyDAV_la-tdav_consumer_video.lo libtinyDAV_la-tdav_converter_video.lo 
libtinyDAV_la-tdav_runnable_video.lo libtinyDAV_la-tdav_session_video.lo 
libtinyDAV_la-tdav_video_frame.lo libtinyDAV_la-tdav_video_jb.lo 
libtinyDAV_la-tdav_consumer_t140.lo libtinyDAV_la-tdav_producer_t140.lo 
libtinyDAV_la-tdav_session_t140.lo libtinyDAV_la-tdav_consumer_msrp.lo 
libtinyDAV_la-tdav_producer_msrp.lo libtinyDAV_la-tdav_session_msrp.lo 
libtinyDAV_la-tdav_codec_amr.lo libtinyDAV_la-g711.lo 
libtinyDAV_la-tdav_codec_g711.lo libtinyDAV_la-g722_decode.lo 
libtinyDAV_la-g722_encode.lo libtinyDAV_la-tdav_codec_g722.lo 
libtinyDAV_la-tdav_codec_g729.lo libtinyDAV_la-tdav_codec_gsm.lo 
libtinyDAV_la-tdav_codec_bv16.lo libtinyDAV_la-tdav_codec_bv32.lo 
libtinyDAV_la-tdav_codec_ilbc.lo libtinyDAV_la-tdav_codec_speex.lo 
libtinyDAV_la-tdav_codec_dtmf.lo libtinyDAV_la-tdav_codec_red.lo 
libtinyDAV_la-tdav_codec_ulpfec.lo libtinyDAV_la-tdav_codec_h261.lo 
libtinyDAV_la-tdav_codec_h263.lo libtinyDAV_la-tdav_codec_h264.lo 
libtinyDAV_la-tdav_codec_h264_rtp.lo libtinyDAV_la-tdav_codec_theora.lo 
libtinyDAV_la-tdav_codec_vp8.lo libtinyDAV_la-tdav_codec_mp4ves.lo 
libtinyDAV_la-tdav_codec_msrp.lo libtinyDAV_la-tdav_codec_t140.lo 
../tinySAK/libtinySAK.la ../tinyNET/libtinyNET.la ../tinySDP/libtinySDP.la 
../tinyRTP/libtinyRTP.la ../tinyMEDIA/libtinyMEDIA.la 
../tinyMSRP/libtinyMSRP.la   -lvpx -lyuv  -lspeex -lspeexdsp -lgsm   
libtool: link: g++  -fPIC -DPIC -shared -nostdlib 
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o 
/usr/lib/gcc/x86_64-linux-gnu/4.6/crtbeginS.o  .libs/libtinyDAV_la-tdav.o 
.libs/libtinyDAV_la-tdav_session_av.o .libs/libtinyDAV_la-tdav_consumer_audio.o 
.libs/libtinyDAV_la-tdav_speakup_jitterbuffer.o 
.libs/libtinyDAV_la-tdav_jitterbuffer.o 
.libs/libtinyDAV_la-tdav_producer_audio.o 
.libs/libtinyDAV_la-tdav_session_audio.o 
.libs/libtinyDAV_la-tdav_speex_denoise.o 
.libs/libtinyDAV_la-tdav_speex_jitterbuffer.o 
.libs/libtinyDAV_la-tdav_speex_resampler.o 
.libs/libtinyDAV_la-tdav_webrtc_denoise.o 
.libs/libtinyDAV_la-tdav_consumer_video.o 
.libs/libtinyDAV_la-tdav_converter_video.o 
.libs/libtinyDAV_la-tdav_runnable_video.o 
.libs/libtinyDAV_la-tdav_session_video.o .libs/libtinyDAV_la-tdav_video_frame.o 
.libs/libtinyDAV_la-tdav_video_jb.o .libs/libtinyDAV_la-tdav_consumer_t140.o 
.libs/libtinyDAV_la-tdav_producer_t140.o 
.libs/libtinyDAV_la-tdav_session_t140.o 
.libs/libtinyDAV_la-tdav_consumer_msrp.o 
.libs/libtinyDAV_la-tdav_producer_msrp.o 
.libs/libtinyDAV_la-tdav_session_msrp.o .libs/libtinyDAV_la-tdav_codec_amr.o 
.libs/libtinyDAV_la-g711.o .libs/libtinyDAV_la-tdav_codec_g711.o 
.libs/libtinyDAV_la-g722_decode.o .libs/libtinyDAV_la-g722_encode.o 
.libs/libtinyDAV_la-tdav_codec_g722.o .libs/libtinyDAV_la-tdav_codec_g729.o 
.libs/libtinyDAV_la-tdav_codec_gsm.o .libs/libtinyDAV_la-tdav_codec_bv16.o 
.libs/libtinyDAV_la-tdav_codec_bv32.o .libs/libtinyDAV_la-tdav_codec_ilbc.o 
.libs/libtinyDAV_la-tdav_codec_speex.o .libs/libtinyDAV_la-tdav_codec_dtmf.o 
.libs/libtinyDAV_la-tdav_codec_red.o .libs/libtinyDAV_la-tdav_codec_ulpfec.o 
.libs/libtinyDAV_la-tdav_codec_h261.o .libs/libtinyDAV_la-tdav_codec_h263.o 
.libs/libtinyDAV_la-tdav_codec_h264.o .libs/libtinyDAV_la-tdav_codec_h264_rtp.o 
.libs/libtinyDAV_la-tdav_codec_theora.o .libs/libtinyDAV_la-tdav_codec_vp8.o 
.libs/libtinyDAV_la-tdav_codec_mp4ves.o .libs/libtinyDAV_la-tdav_codec_msrp.o 
.libs/libtinyDAV_la-tdav_codec_t140.o   -Wl,-rpath 
-Wl,/usr/local/src/doubango/tinySAK/.libs -Wl,-rpath 
-Wl,/usr/local/src/doubango/tinyNET/.libs -Wl,-rpath 
-Wl,/usr/local/src/doubango/tinySDP/.libs -Wl,-rpath 
-Wl,/usr/local/src/doubango/tinyRTP/.libs -Wl,-rpath 
-Wl,/usr/local/src/doubango/tinyMEDIA/.libs -Wl,-rpath 
-Wl,/usr/local/src/doubango/tinyMSRP/.libs ../tinySAK/.libs/libtinySAK.so 
../tinyNET/.libs/libtinyNET.so ../tinySDP/.libs/libtinySDP.so 
../tinyRTP/.libs/libtinyRTP.so ../tinyMEDIA/.libs/libtinyMEDIA.so 
../tinyMSRP/.libs/libtinyMSRP.so -lvpx -lyuv -lspeex -lspeexdsp -lgsm 
-L/usr/lib/gcc/x86_64-linux-gnu/4.6 
-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu 
-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib -L/lib/x86_64-linux-gnu 
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib 
-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../.. -lstdc++ -lm -lc -lgcc_s 
/usr/lib/gcc/x86_64-linux-gnu/4.6/crtendS.o 
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crtn.o  -O2   
-Wl,-soname -Wl,libtinyDAV.so.0 -o .libs/libtinyDAV.so.0.0.0
/usr/local/lib/libyuv.a: could not read symbols: Malformed archive
collect2: ld returned 1 exit status
make[2]: *** [libtinyDAV.la] Error 1
make[2]: Leaving directory `/usr/local/src/doubango/tinyDAV'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/doubango'
make: *** [all] Error 2

What version of the product are you using? On what operating system?

Doubango from svn, libyuv compiled through depot_tools. Ubuntu 12.04 LTS X86_64.

Please provide any additional information below.

Doubango compiles fine without the --with-yuv configure option. The build fails 
with the following configure options:

./configure --with-ssl --with-srtp --with-vpx --with-yuv --with-speex 
--with-speexdsp --enable-speexresampler --enable-speexjb --enable-speexdenoiser 
--with-gsm --prefix=/usr/local

Regards,

Jeremy

Original issue reported on code.google.com by autosta...@gmail.com on 5 Dec 2012 at 3:48

GoogleCodeExporter commented 8 years ago
Solved. The installation procedure for libyuv is not complete in the Wiki. It 
should be:

mkdir libyuv && cd libyuv
svn co http://src.chromium.org/svn/trunk/tools/depot_tools . 
./gclient config http://libyuv.googlecode.com/svn/trunk
./gclient sync && cd trunk
make -j `getconf _NPROCESSORS_ONLN` V=1 -r libyuv BUILDTYPE=Release
cp -r out/Release/obj.target/libyuv* /usr/local/lib
mkdir /usr/local/include && cp -r include/* /usr/local/include

Regarding the last line ./tinyDAV/src/video/tdav_converter_video.cxx needs to 
be patched so it looks for libyuv.h instead of libyuv/libyuv.h
I've attached a patch.

After this Doubango compiles fine with libyuv.

Original comment by autosta...@gmail.com on 5 Dec 2012 at 9:13

Attachments:

GoogleCodeExporter commented 8 years ago

Original comment by boss...@yahoo.fr on 6 Dec 2012 at 5:50

GoogleCodeExporter commented 8 years ago
I have got this problem also.
Thank you for your helping.

Original comment by fffff5...@126.com on 2 Apr 2013 at 7:20