[libav-api] Some help with linking?

Mischa Spiegelmock mspiegelmock at gmail.com
Thu Dec 1 02:12:23 CET 2011


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 <nathan.stocks at gmail.com> 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 at 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
> libav-api at libav.org
> https://lists.libav.org/mailman/listinfo/libav-api


More information about the libav-api mailing list