[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