Actions











Multi-architecture, changement de fond sous Debian

Écrit le 02/05/2011 @ 13:26 par Alexandre

Informatique - LinuxEn testant Ubuntu Natty depuis environ 2 semaines, j'ai rapidement réalisé que quelque chose d'important avait changé en profondeur. Il suffit de faire un peu de test sur des applications "on the edge" ou de programmation pour s'en rendre compte.

J'ai eu la puce à l'oreille en jouant avec Wine et Mesa sur une machine 64bit. En effet, je teste les dernières versions des répertoires git. Cependant, je n'arrivais pas à utiliser les versions que j'installais comme j'étais habitué. Après un peu de recherche, j'ai découvert que pour Monsieur-Madame-Tout-Le-Monde, le tout se passe de manière invisible. Mais pour celui qui n'utilise pas les paquets fournit par Ubuntu ou Debian, des conflits se produisent.

Le tout vient du fait qu'il y a un problème fondamental à utiliser les répertoires /lib /lib64 /lib32, /usr/lib /usr/lib64 /usr/lib32, etc. Vous commencez à voir le problème quand vous voulez compiler ou faire tourner des applications 32bit sur un système 64bit.

Voilà pour ce qui se passe en surface. En profondeur, des changements sur l'emplacement des librairies ont commencé à être fait. Je dis commencé, car il s'agit d'un effet de transition. Un des buts est de se débarrasser du paquet ia32-libs, paquet contenant l'ensemble des librairies 32bit sur un système 64bit étant mis à jour seulement de temps à autre. De plus, il y a un problème à compiler certaines applications lorsqu'elles demandent des versions récentes.

Les distributions basées sur Debian commencent à utiliser plutôt la structure suivante : /lib/arch-system-compilation et /usr/lib/arch-system-compilation. On retrouve désormais les dossiers i386-linux-gnu et x86_64-linux-gnu. Ah! Mais qu'arrive-t-il si les librairies sont installées dans les anciens dossiers alors que les paquets utilisent les nouveaux ou encore si vous avez changé pour la nouvelle structure, mais que les paquets continuent à être installés dans les anciens dossiers? Vous vous retrouvez avec des fichiers en double... ET il se peut que votre "linker" trouve les mauvais fichiers avant les bons. Il faut modifier l'ordre de recherche des librairies. Pour y parvenir, il faut chercher sous /etc/ld.so.conf.d, ouvrir les bons fichiers, les éditer et mettre le chemin des dossiers dans le bon ordre et avec les bons noms.

J'ajouterais que personnellement, j'ai également décidé de bloquer la mise à jour des paquets que je mets à jour moi-même avec mes tests. C'est probablement plus sage afin d'éviter que des mises à jour écrasent vos changements.

Commentaire par Alexandre  Score: 2
Écrit le: 02/05/2011 @ 13:28

Jusqu'à maintenant, j'ai réglé mesa et libdrm. c'est tout ce dont j'avais besoin. Si vous avez besoin d'un coup de pouce, laissez-moi savoir.

Cela me permet de faire fonctionner mes applications 32bit et mes applications Windows via Wine (aussi 32bit jusqu'à ce que Wine offre naturellement une version supportant le 64bit et le 32bit en parallèle) avec les versions les plus à jour (test) de libdrm et mesa.
Dernière modification le 02/05/2011 @ 13:31


Tous les blogs
<< Impression de Gnome 3 | Retour aux blogs | Moments historiques! >>
Blogs de la même catégorie
<< Problème entre le kernel 2.6.37 et Pulseaudio | KParts plugin pour améliorer votre fureteur >>