How do you debug X86_64 relocation errors

Sat Aug 20 03:00:00 GMT 2005

I'm trying to build ffmpeg on amd64, which has a x264 
plugin. I built x264 with -fPIC which gives x264.a (dunno 
why the devs only want a static lib).

When I try to build ffmpeg - also with -fPIC, I get:

gcc -shared -o bitstream.o utils.o mem.o 
allcodecs.o mpegvideo.o jrevdct.o jfdctfst.o jfdctint.o 
vorbis.o vp3.o vqavideo.o wmadec.o wnv1.o ws-snd1.o xan.o 
xl.o pthread.o  faad.o faac.o xvidff.o x264.o 
libpostproc/postprocess.o mp3lameaudio.o oggvorbis.o 
oggtheora.o  -lm -lx264 -lz -ldl -lpthread -L../libavutil 
-lavutil -lfaac -lxvidcore -lx264 -lmp3lame -lvorbisenc 
-lvorbis -ltheora -logg  -Wl,--warn-common -rdynamic -ldl 
relocation R_X86_64_32 against `a local symbol' can not be 
used when making a shared object; recompile with -fPIC
could not read symbols: Bad value

I've strewn -fPIC's all over the place. What else do you 
look for?


More information about the Binutils mailing list