[FFmpeg-devel] Bugreport: compiling fails with -fPIC used

Thorsten Jordan tjordan
Mon Oct 15 13:40:38 CEST 2007

Ronald S. Bultje schrieb:
> Hi,
> Use -fomit-frame-pointer -O3 -mno-dynamic-pic for libavcodec/i386/. The -O3
> is (I think) only needed on darwin because their gcc is busted, the rest is
> (again, I think) always needed, and all this should be in your
> config.makCFLAGS already (next time, include the gcc command used so
> we can see what's
> wrong with it :-) ).
the line is (with abbrev. paths)

/usr/bin/gcc-4.2 -I"/home/.../ffmpeg-export-2007-10-15"/libswscale
-I"/home/.../ffmpeg-export-2007-10-15"/libavcodec  -DHAVE_AV_CONFIG_H
-I"/home/.../ffmpeg-export-2007-10-15"/libavutil -fPIC
-fomit-frame-pointer -march=i686 -pthread -g
-Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization
-Wpointer-arith -Wredundant-decls -Wno-pointer-sign -O3  -c -o
i386/dsputil_mmx.o i386/dsputil_mmx.c

btw., this time i tried gcc-4.2, no difference, but the warning has
slightly different spelling.

i386/dsputil_mmx.c: In function ?flac_compute_autocorr_sse2?:
i386/dsputil_mmx.c:3028: error: can't find a register in class
?GENERAL_REGS? while reloading ?asm?
i386/dsputil_mmx.c:3003: error: ?asm? operand has impossible constraints
i386/dsputil_mmx.c:3005: error: ?asm? operand has impossible constraints
i386/dsputil_mmx.c:3028: error: ?asm? operand has impossible constraints
i386/dsputil_mmx.c:3057: error: ?asm? operand has impossible constraints

btw., what is -mno-dynamic-pic ? my gcc doesnt like it. I have to use
ffmpeg with -fPIC flags to make it shareable between several processes.
Can one use partial compilation without -fPIC and partial with it, and
only the parts with -fPIC are shared - all in one .so lib? Puzzling...

Greetings, Thorsten

More information about the ffmpeg-devel mailing list