[FFmpeg-user] problem compiling ffmpeg 0.8.2

Lou lou at lrcd.com
Thu Aug 25 21:10:23 CEST 2011

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.

More information about the ffmpeg-user mailing list