Journal linkage de libraries sur systeme croisé en compilation 32 bits

Posté par  .
Étiquettes : aucune
0
18
mai
2004
ouais bon le sujet il a une formulation un peu bancale, donc explication détaillé:
Voila je suis sur un système 64 bits (x86_64 d'AMD (opteron 146)), j'ai déjà une version de wine mais ancienne donc je veux installer la nouvelle version (l'ancienne était en binaire lors de l'install du système (SuSE 9.0 optimised AMD64), la nouvelle je l'install à partir des sources). Wine ne se compile pas en 64bits, il faut donc le faire en 32 bits (vive l'AMD64 qui le permet).
Pour que cela passe (après quelques lecture du man de gcc, et autre faq sur le web), il faut d'abord export variable LD="ld -m elf_i386", puis faire le ./configure avec CC="gcc -m32" AS="gcc -m32" (il y a quelque petites choses dans ces variables mais seule celle-ci indique à gcc de passer en 32bits). une fois ceci fait (et aussi installer les paquets developement SuSE de différentes libraires (XFree86-devel, XFree86-Mesa-devel, freetype2 ....) en mode 32 bits (forunit en sus des versions native 64 bits par défaut, pour justement la compile de certaines applis en 32 bits).
donc le make depend de wine marche bien, le make va plus loin que si on ne donne pas les options -m32 à gcc et que l'on n'exporte pas la variable LD, à cause d'un fichier testant le type du proco pour de l'assembleur, donc là on est bien en mode 32 bits on est sur. Par contre il y a erreur dans 2 trucs au moins soit la dll glu32 de wine soit si on indique --without-opengl au configure à la dll ddraw (pe le problème se posera plus loin mais ces dépasser au moins l'étape ddraw je ne peux pas encore le savoir).
Le problème n'est pas ç la compile de ces 2 choses mais au linkage (les linkages d'autres trucs précédent ne pose pas de problèmes) mais ce sont les 2 premières choses que doivent être linké a XFree86, donc le problème vient bien de là. (ah oui dans le coufigure il faut avoir aussi mis comme paramètre --x-libraries=/usr/X11R6/lib pour pas que cela prenne les lib 64 bits de Xfree).
l'erreur retourné pas ld est du type (je ne l'ai pas noté et je ne suis pas sur ma machine) reallocation elf32_i386 (glu32.so -ou ddraw.so selon le cas-) <avec|pour|truc> elf64_x86_64 n'est pas supporté.

Savez vous à quoi cela correspond comme erreur est dans le cas qui m'intéresse comment peut-on la passer -vu que le wine actuellement installé marche bien, il est possible de le passer).
D'avance merci même si vous ne savez pas la réponse.
Blackshack

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.