[Kdenlive-devel] [Mlt-devel] MLT AMD64 compilation

jmpoure at free.fr jmpoure at free.fr
Thu Sep 28 08:19:21 UTC 2006


Selon Zachary Drew <zachary.drew at gmail.com>:
> I commited the amd64 patch. It passed my assembly tests. I was unable to
> test it on amd64 because the machine I had access to wasn't running a 64 bit
> kernel. If someone would like to test it on amd64, change
>
> #undef DEBUG_ASM
>
> to
>
> #define DEBUG_ASM
>
> in src/modules/motion_est/filter_motion_est.c
>
> and recompile. It should complain loudly if the reference function and the
> assembly function disagree.

Thank you Zachary for working on the AMD64 issue so fast. I was able to cvs
update -C -P -d and then I modified the DEBU_ASM line as suggested.

1. First issue - MMX failure

Compilation with MMX fails (I guess it is normal)
./configure --enable-gpl --enable-shared --enable-theora --enable-vorbis
--enable-libogg --enable-pp --enable-shared-pp --enable-motion-est
--disable-mmx

make

[...]

cc -Wall -fPIC -DPIC   -O4 -pipe -fomit-frame-pointer -ffast-math -DUSE_MMX -g
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -pthread `pkg-config gtk+-2.0
--cflags` `pkg-config gdk-pixbuf-2.0 --cflags` `pkg-config pangoft2 --cflags`
-I../..   -c -o producer_pango.o producer_pango.c
cc -o have_mmx.o -c have_mmx.S
have_mmx.S: Messages de l'assembleur:
have_mmx.S:20: ERREUR: suffixe ou opérande invalide pour « push »
have_mmx.S:24: ERREUR: suffixe ou opérande invalide pour « pushf »
have_mmx.S:25: ERREUR: suffixe ou opérande invalide pour « pop »
have_mmx.S:28: ERREUR: suffixe ou opérande invalide pour « push »
have_mmx.S:29: ERREUR: suffixe ou opérande invalide pour « popf »
have_mmx.S:30: ERREUR: suffixe ou opérande invalide pour « pushf »
have_mmx.S:31: ERREUR: suffixe ou opérande invalide pour « pop »
have_mmx.S:51: ERREUR: suffixe ou opérande invalide pour « pop »
make[2]: *** [have_mmx.o] Erreur 1
make[2]: quittant le répertoire «
/home/jmpoure/logiciels/mlt/mlt/src/modules/gtk2 »
make[1]: *** [all] Erreur 1
make[1]: quittant le répertoire « /home/jmpoure/logiciels/mlt/mlt/src/modules »
make: *** [all] Erreur 1

2. Second issue - fPIC compilation variable

./configure --enable-gpl --enable-shared --enable-theora --enable-vorbis
--enable-libogg --enable-pp --enable-shared-pp --enable-motion-est
--disable-mmx

make

[...]

cc -Wall -fPIC -DPIC   -O4 -pipe -fomit-frame-pointer -ffast-math  -g
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -pthread `libst-config --cflags`
-I../../  -c -o filter_sox.o filter_sox.c
cc -shared -o ../libmltsox.so factory.o filter_sox.o  -lst `libst-config --libs`
-L../../framework -lmlt
/usr/bin/ld:
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libst.a(util.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-linux-gnu/4.1.2/../../../../lib64/libst.a: ne peut lire les
symboles: Mauvaise valeur
collect2: ld a retourné 1 code d'état d'exécution
make[2]: *** [../libmltsox.so] Erreur 1
make[2]: quittant le répertoire «
/home/jmpoure/logiciels/mlt/mlt/src/modules/sox »
make[1]: *** [all] Erreur 1
make[1]: quittant le répertoire « /home/jmpoure/logiciels/mlt/mlt/src/modules »
make: *** [all] Erreur 1


Kind regards,
Jean-Michel




More information about the Kdenlive mailing list