[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