Hi, I'm the (new) maintainer of AVbin, a project setting out to provide a stable ABI for the Pyglet project (and any other project that finds it useful) to decode audio/video by thinly wrapping FFmpeg and providing binary releases for various platforms. The project was abandoned in 2008, but I volunteered to try to revive it several weeks ago. The project home page is at http://avbin.github.com and the repository is at https://github.com/avbin/avbin
I'll admit up front, I'm not (yet) an expert at debugging C code compilation and linking problems, but I'm learning fast! I've tried to get some help specifically with the linking problems we're experiencing from the FFmpeg mailing lists, but so far the response from those on the FFmpeg lists has not been encouraging. I only recently learned of the Libav fork, and the code we're currently trying to put out is pre-fork (from last December), so I thought that perhaps this would be a good place to turn in the hopes of a warmer response. The FFmpeg version I'm dealing with is r25864 from the old subversion repository at svn://svn.mplayerhq.hu/ffmpeg/trunk (that revision is from 2010-12-03). (Disclaimer: The rest of this email is a copy of what I sent to the FFmpeg libav-user mailing list.) 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-api mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-api
