Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Autoconf : Pb de librairies LibXext (cross compilation)

2 réponses
Avatar
eb
Voilà mon Pb : je cross compile depuis une machine 64 bits, un programme 32
bits.

J'ai la chaîne 32 bits, et j'utilise les outils rpm :
' rpmbuild --target i386 -tb monPaquetage.tar. gz'
(c'est en fait sans importance)

Le problème, c'est que le script configure s'arrête car il ne trouve que les
librairies 64 bits de LibXext :


configure:12088: checking for libXext
configure:12123: /usr/bin/i386-pc-linux-gnu-gcc -o
conftest -g -march=i386 -mcpu=i686 -DDATADIR='"${prefix}/share"' -L/usr/X11R6/lib
conftest.c -lXext -lX11 -lresolv >&5
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
/usr/libexec/gcc/i386-pc-linux-gnu/ld: skipping
incompatible /usr/X11R6/lib/libXext.so when searching for -lXext
/usr/libexec/gcc/i386-pc-linux-gnu/ld: skipping
incompatible /usr/X11R6/lib/libXext.a when searching for -lXext
/usr/libexec/gcc/i386-pc-linux-gnu/ld: cannot find -lXext
collect2: ld returned 1 exit status


Alors que ldconfig me donne bien un chemin vers les librairies 32 bits :
(celles dans 'emul/...')

# ldconfig -p
...
libXext.so.6 (libc6,x86-64) => /usr/lib/libXext.so.6
libXext.so.6 (libc6) => /emul/linux/x86/usr/lib/libXext.so.6
libXext.so (libc6,x86-64) => /usr/lib/libXext.so
libXext.so (libc6) => /emul/linux/x86/usr/lib/libXext.so
...


Comment faire pour que le script les identifie ???
Merci d'avance

2 réponses

Avatar
Martin Klar
eb schrieb:
Voilà mon Pb : je cross compile depuis une machine 64 bits, un programme 32
bits.

J'ai la chaîne 32 bits, et j'utilise les outils rpm :
' rpmbuild --target i386 -tb monPaquetage.tar. gz'
(c'est en fait sans importance)

Le problème, c'est que le script configure s'arrête car il ne trouve que les
librairies 64 bits de LibXext :


configure:12088: checking for libXext
configure:12123: /usr/bin/i386-pc-linux-gnu-gcc -o
conftest -g -march=i386 -mcpu=i686 -DDATADIR='"${prefix}/share"' -L/usr/X11R6/lib
conftest.c -lXext -lX11 -lresolv >&5
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
/usr/libexec/gcc/i386-pc-linux-gnu/ld: skipping
incompatible /usr/X11R6/lib/libXext.so when searching for -lXext
/usr/libexec/gcc/i386-pc-linux-gnu/ld: skipping
incompatible /usr/X11R6/lib/libXext.a when searching for -lXext
/usr/libexec/gcc/i386-pc-linux-gnu/ld: cannot find -lXext
collect2: ld returned 1 exit status


Alors que ldconfig me donne bien un chemin vers les librairies 32 bits :
(celles dans 'emul/...')

# ldconfig -p
...
libXext.so.6 (libc6,x86-64) => /usr/lib/libXext.so.6
libXext.so.6 (libc6) => /emul/linux/x86/usr/lib/libXext.so.6
libXext.so (libc6,x86-64) => /usr/lib/libXext.so
libXext.so (libc6) => /emul/linux/x86/usr/lib/libXext.so
...



Je suis allemand, excusez mon francais simple... ;-)

Je propose, que tu dois trouver le 64-Bit libXext.a et
ensuite, modifie Makefile ou export juste "CFLAGS" et "LIBS".

HTH Martin

Avatar
eb
Martin Klar wrote:

eb schrieb:
Voilà mon Pb : je cross compile depuis une machine 64 bits, un programme
32 bits.

J'ai la chaîne 32 bits, et j'utilise les outils rpm :
' rpmbuild --target i386 -tb monPaquetage.tar. gz'
(c'est en fait sans importance)

Le problème, c'est que le script configure s'arrête car il ne trouve que
les librairies 64 bits de LibXext :


configure:12088: checking for libXext
configure:12123: /usr/bin/i386-pc-linux-gnu-gcc -o
conftest -g -march=i386 -mcpu=i686 -DDATADIR='"${prefix}/share"'
-L/usr/X11R6/lib
conftest.c -lXext -lX11 -lresolv >&5
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
/usr/libexec/gcc/i386-pc-linux-gnu/ld: skipping
incompatible /usr/X11R6/lib/libXext.so when searching for -lXext
/usr/libexec/gcc/i386-pc-linux-gnu/ld: skipping
incompatible /usr/X11R6/lib/libXext.a when searching for -lXext
/usr/libexec/gcc/i386-pc-linux-gnu/ld: cannot find -lXext
collect2: ld returned 1 exit status


Alors que ldconfig me donne bien un chemin vers les librairies 32 bits :
(celles dans 'emul/...')

# ldconfig -p
...
libXext.so.6 (libc6,x86-64) => /usr/lib/libXext.so.6
libXext.so.6 (libc6) => /emul/linux/x86/usr/lib/libXext.so.6
libXext.so (libc6,x86-64) => /usr/lib/libXext.so
libXext.so (libc6) => /emul/linux/x86/usr/lib/libXext.so
...



Je suis allemand, excusez mon francais simple... ;-)

Je propose, que tu dois trouver le 64-Bit libXext.a et
ensuite, modifie Makefile ou export juste "CFLAGS" et "LIBS".

HTH Martin


Le 64-Bit libXext.a est dans /usr/X11R6/lib
Mais (voir message précédent), le script n'en veut pas :

/usr/libexec/gcc/i386-pc-linux-gnu/ld: skipping
incompatible /usr/X11R6/lib/libXext.a when searching for -lXext



Quelle est la syntaxe pour LIBS ?