[Ffmpeg-devel] OS/X - undefined symbols due to strip'd shared libs
Joeri van Oostveen
Sun Oct 23 22:17:44 CEST 2005
Being a big noob at this compiling stuff, how do I compile the ffmpeg
as a shared library?
I tried adding --enable-shared in the ./configure, make and make
install, but when I compile some other software (php) which needs the
ffmpeg, I keep getting this message:
checking for ffmpeg libavcodec.so... configure: error: ffmpeg share
libraries not found. Make sure you've built ffmpeg as shared libs
using the --enable-shared option
thanks in advance!
On 10/21/05, Diego Biurrun <diego at biurrun.de> wrote:
> On Thu, Oct 20, 2005 at 10:16:33PM -0700, Steven M. Schultz wrote:
> > On OS/X the shared libs must be installed with "install -s" which
> > strips all the global symbols. Linking against a stripped library
> > gives undefined symbols.
> > I noticed this when linking against libavutil.dylib where
> > _ff_log2_tab is supposed to reside. Looking at the symbol table
> > sms% nm /usr/local/lib/libavutil.dylib
> > /usr/local/lib/libavutil.dylib(single module):
> > U _frexp
> > U _ldexp
> > U _log
> > "install -s" removed _everything_ except the 3 undefineds.
> > The attached patch for ./configure creates an 'installstrip' variable
> > which can be overriden on a per OS basis. The default is set to be
> > "-s", then in the Darwin) section installstrip="" is done. Later
> > on "INSTALLSTRIP=$installstrip" is used.
> > After the patch 'nm /usr/local/lib/libavutil.dylib | grep ff_log2"
> > yields:
> > 00002d90 S _ff_log2_tab
> > Much better :)
> Thanks, applied.
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
More information about the ffmpeg-devel