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

Reply via email to