THE PROBLEM I'm trying to produce new binary releases for AVbin ( http://avbin.github.com ), but I'm running into a linking error when I try to link FFmpeg's libraries into the avbin library on an up-to-date version of Ubuntu 11.10 amd64 in a VMware VM:
ld -shared -soname libavbin.so.8 -o dist/linux-x86-64/libavbin.so.8 build/avbin.o -whole-archive ffmpeg/libavformat/libavformat.a ffmpeg/libavcodec/libavcodec.a ffmpeg/libavutil/libavutil.a ffmpeg/libswscale/libswscale.a -no-whole-archive -R /usr/local/lib -R . ld: dist/linux-x86-64/libavbin.so.8: version node not found for symbol av_dup_packet@LIBAVFORMAT_52 ld: failed to set dynamic section sizes: Bad value make: *** [dist/linux-x86-64/libavbin.so.8] Error 1 I've spent several hours googling, but even after reading ".symver" man pages and every post I can find relating to the error, I still don't really understand what a "version node" is, why it is needed, what is wrong with it in this particular case, or how to fix it. EASY STEPS TO DUPLICATE git clone git://github.com/AVbin/AVbin.git cd AVbin git checkout origin/merge-micah ./build.sh linux-x86-64 (Note: The actual commit on the merge-micah branch at the time of this writing is 35bc9c97) MORE RELEVANT INFORMATION Environment (Inside a VMware VM): $ uname -a Linux nathan-ubuntu11 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2 13:27:26 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux $ gcc --version gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 FFmpeg configure options: --disable-ffmpeg --disable-ffserver --disable-ffplay --disable-debug --disable-encoders --disable-muxers --disable-protocols --enable-protocol=file --disable-devices --disable-network --disable-zlib --enable-shared --enable-static --disable-mmx --arch=x86_64 --enable-pthreads --disable-bzlib Any ideas? ~ Nathan _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
