[x264-devel] Re: relocation error on x86_64

sean darcy seandarcy2 at gmail.com
Sun Aug 21 19:34:08 CEST 2005


On 8/21/05, sean darcy <seandarcy2 at gmail.com> wrote:
...
/usr/lib/gcc/x86_64-redhat-linux/4.0.1/../../../../lib64/libx264.a(dct-a.o):
> > relocation R_X86_64_32 against `a local symbol' can not be used when
> > making a shared object; recompile with -fPIC
> 
> With help from the binutils list realized the problem here is dct-a.o,
> which is built:
> 
> yasm -f elf -o common/amd64/dct-a.o common/amd64/dct-a.asm
> 
> I think the problem maybe that this is built without -m amd64, yasm's
> way of specifying a 64 bit machine.
> 

Finally figured out I could add to the Makefile:

ifeq ($(ARCH),X86_64)
+ ASFLAGS += -m amd64
SRCS   += common/i386/mc-c.c common/i386/dct-c.c common/i386/predict.c

which gave me:

yasm -f elf -m amd64 -m amd64 -o common/amd64/dct-a.o common/amd64/dct-a.asm
yasm -f elf -m amd64 -m amd64 -o common/amd64/cpu-a.o common/amd64/cpu-a.asm
yasm -f elf -m amd64 -m amd64 -o common/amd64/pixel-a.o common/amd64/pixel-a.asm
yasm -f elf -m amd64 -m amd64 -o common/amd64/mc-a.o common/amd64/mc-a.asm
yasm -f elf -m amd64 -m amd64 -o common/amd64/mc-a2.o common/amd64/mc-a2.asm
yasm -f elf -m amd64 -m amd64 -o common/amd64/predict-a.o
common/amd64/predict-a.asm


Upbeat and confident, I tried to link x264 with ffmpeg again, but sadly:

/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.0.1/../../../../lib64/libx264.a(dct-a.o):
relocation R_X86_64_32 against `a local symbol' can not be used when
making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-redhat-linux/4.0.1/../../../../lib64/libx264.a:
could not read symbols: Bad value

sean

-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list