[XviD-devel] xvidcore yasm build won't link w/ ffmpeg

sean seandarcy2 at gmail.com
Thu Jan 26 23:43:47 CET 2006


sean darcy wrote:
> amd64, gcc-4.1, fc5-test2, yasm-r1344
> 
> I'm building ffmpeg, which links to xvidcore-1.1  ( and cvs).
> 
> I get this error when it tries to link everything into libavcodec.so:
> 
> 
> /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.1.0/../../../../lib64/libxvidcore.a(qpel_mmx.o):
> relocation R_X86_64_PC32 against `xvid_FIR_14_3_2_1' can not be used
> when making a shared object; recompile with -fPIC
> /usr/bin/ld: final link failed: Bad value
> 
> 
> xvidcore builds qpel_mmx.o using yasm:
> 
> 
>   A: image/x86_64_asm/qpel_mmx.asm
> /usr/bin/install -c -d =build/image/x86_64_asm
> yasm -I../../src/image/x86_64_asm/ -f elf  -DMARK_FUNCS -m amd64
> ../../src/image/x86_64_asm/qpel_mmx.asm -o
> =build/image/x86_64_asm/qpel_mmx.o
> 
> xvidcore has a configure option   --disable-assembly so gcc is used
> instead, and that library will link with ffmpeg.
> 
> Is this a yasm isssue, or is xvidcore calling yasm incorrectly?
> 
> I'm cross-posting on xvid and yasm.
> 
> sean

 From the yasm list:

[quote]

While it could be a yasm error, I'm inclined to think 
not.  It's more likely that qpel_mmx.asm is not written to 
be used in shared libraries, only in static linking situations.

Peter Johnson

[unquote]

Is this so? As far as I can tell the other xvidcore asm's 
can be used in shared libraries.

sean



More information about the XviD-devel mailing list