[FFmpeg-user] problem compiling ffmpeg 0.8.2

Patricia N Goldweic pgoldweic at northwestern.edu
Thu Aug 25 22:07:15 CEST 2011

Thanks. I'll try that out. I believe I probably did not use the --enable-shared option for libvpx.

-----Original Message-----
From: ffmpeg-user-bounces at ffmpeg.org [mailto:ffmpeg-user-bounces at ffmpeg.org] On Behalf Of Lou
Sent: Thursday, August 25, 2011 2:10 PM
To: ffmpeg-user at ffmpeg.org
Subject: Re: [FFmpeg-user] problem compiling ffmpeg 0.8.2

On Thu, 25 Aug 2011 18:34:21 +0000
Patricia N Goldweic <pgoldweic at northwestern.edu> wrote:

> Hi,
> I've been trying to compile ffmpeg 0.8.2 on linux (rel6), and after 
> compiling all the third party libraries I needed, I am getting the 
> following error:
> ....
> libavutil/samplefmt.c: In function âav_samples_fill_arraysâ:
> libavutil/samplefmt.c:88: warning: âav_get_bits_per_sample_fmtâ is 
> deprecated (declared at libavutil/samplefmt.c:76) CC
> libavutil/sha.o CC      libavutil/tree.o
> CC      libavutil/utils.o
> CC      libavutil/x86/cpu.o
> LD      libavutil/libavutil.so.51
> LD      libavcodec/libavcodec.so.53
> /usr/bin/ld: /usr/local/lib/libvpx.a(vpx_codec.c.o): relocation
> R_X86_64_32 against `.rodata.str1.1' can not be used when making a 
> shared object; recompile with -fPIC /usr/local/lib/libvpx.a: could not 
> read symbols: Bad value collect2: ld returned 1 exit status make:
> *** [libavcodec/libavcodec.so.53] Error 1
> I've configured ffmpeg with the following command:
> sudo ./configure --enablelibvpx --enable-libfaac --enable-shared 
> --enable-memalign-hack --enable-gpl --enable-libtheora 
> --enable-libmp3lame --enable-libvorbis --enable-libx264 
> --enable-libxvid --enable-nonfree --enable-postproc --enable-avfilter 
> --enable-swscale --enable-pthreads --enable-libfreetype
> --enable-libopenjpeg   --arch=x86_64
> (and I've installed version 0.9.7 of libvpx)
> Any ideas on what is happening or how to fix it? Thanks in advance, 
> -Patricia

What was your ./configure for libvpx?

If you compile ffmpeg with --enable-shared, then you probably should also compile libvpx with --enable-shared. However, unless you know that you absolutely need shared, then I recommend omitting --enable-shared for ffmpeg and any required external libraries. Shared can be problematic as you've experienced.

Navigate back to your ffmpeg source directory, run "make distclean" (you might need to use sudo with that because you used sudo with your ./configure for some reason) and try your ./configure again without --enable-shared and optionally the others I listed below:

--enable-memalign-hack - I think this is a Windows specific option.
--enable-pthreads - should now be autodetected.
--enable-avfilter - looks like it's a default option.
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org

More information about the ffmpeg-user mailing list