Cool. Thanks for the willingness! The projects do seem to have some similarities, but I'm not sure how looking at an external subroutine interface for libav<->perl that facilitates handling media streams is going to help me with the linking problems I'm experiencing in C (?). Have you run into a similar linking problem with your project?
The thing that really bugs me is that this linking error only happens in Linux. The OS X and Windows releases I did had their own issues I had to deal with, but not this linking problem. ~ Nathan On Wed, Nov 30, 2011 at 6:12 PM, Mischa Spiegelmock <[email protected]> wrote: > Hi! I want to help! Please see my XS interface for Perl that I've been > developing: > https://github.com/revmischa/av-streamer > > Sounds like we want the same thing: a slightly higher-level interface, > comprised of a lot of the code in ffmpeg.c/avconv.c in a reusable > form. > > On Wed, Nov 30, 2011 at 4:30 PM, Nathan <[email protected]> wrote: >> 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 > _______________________________________________ > libav-api mailing list > [email protected] > https://lists.libav.org/mailman/listinfo/libav-api > _______________________________________________ libav-api mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-api
