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

sean seandarcy2 at gmail.com
Fri Jan 27 01:38:12 CET 2006


sean wrote:
> 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

I built xvidcore with yasm, and tried to build ffmpeg with 
just static libs. ffmpeg built. So it seems that 
qpel_mmx.asm is not written for shared libs.

Can it be written that way? If so, how?

sean



More information about the XviD-devel mailing list