Optimisation du système et changement de CHOST

Conversations générales au sujet de Sabayon Linux

Moderator: Moderators

Postby Toudix » Wed Jul 25, 2007 23:27

Petit ajout de ma part. Avec la nouvelle version de glibc, certains changements sont apparus. Lorsque vous recompilerez ce package, vous aurez (probablement) un message de ce style :
Code: Select all
 * You still haven't deleted //etc/locales.build.
 * Do so now after making sure //etc/locale.gen is kosher.

En effet, le fichier /etc/locales.build est devenu obsolète avec la nouvelle version de glibc, celui-ci refusant de se compiler si locales.build est présent.

Pour résoudre ce problème, il suffit simplement de copier le contenu de /etc/locales.build dans /etc/locales.gen, soit en passant par un éditeur de texte (lancé en mode root), soit, en console, en root, avec
Code: Select all
cp /etc/locales.build /etc/locales.gen
rm /etc/locales.build
(en ayant vérifié le contenu de locales.gen préalablement à l'effacement de locales.build !)

Relancez votre compilation et tout devrait bien se dérouler.

P.S.: D'autres informations, notamment sur certains flags, peuvent être trouvées ici : http://gentoo-wiki.com/HOWTO_Optimise_glibc . On y apprend par exemple que, pour ceux qui utilisent "-fomit-frame-pointer", le flag "omitfp" permet de compiler glibc avec le support pour "-fomit-frame-pointer"
User avatar
Toudix
Simple Hen
 
Posts: 59
Joined: Wed Jul 11, 2007 20:25

Postby turquoise » Sat Jul 28, 2007 6:18

Bien noté. D'ailleurs, j'ai eu le même pépin lors de ma recompilation de système, le seul truc qui a refusé de se compiler...

Je suis en train de passer à travers le processus présentement et je constate que je devrai faire quelques annotations au document initial. Par exemple, je crois bien avoir trouvé la solution du problème concernant l'échec de la compilation de gcc dans certains cas : au lieu de faire un emerge -av1 binutils gcc glibc, on fait un emerge gcc et ensuite on fait un emerge -av1 binutils glibc.
Ma philosophie d'apprentissage : essayer, et si ça casse, essayer de réparer.
My learning philosophy: try it, and if it breaks, try to fix it.
Image
turquoise
Old Dear Hen
 
Posts: 719
Joined: Wed Nov 15, 2006 1:14
Location: Abitibi-Témiscamingue!

Postby Toudix » Sun Jul 29, 2007 22:26

Tu peux essayer de suivre la procédure du wiki :
Code: Select all
emerge -uav gcc

Cela permet d'emerge 5 ou 6 paquets (selon les cas), dont les binutils, glibc et gcc. Cela a très bien fonctionné chez moi (mis à part le problème plus haut lié aux locales.build et locales.gen, qu'il suffit de résoudre et tout baigne).

Autre petit ajout, avant d'aller me coucher. Je procède à l'installation de Sabayon sur deux PC, et sur le second, je me suis aperçu de ceci :
Code: Select all
localhost env.d # grep 586 *
05gcc-i686-pc-linux-gnu:PATH="/usr/i586-pc-linux-gnu/gcc-bin/4.1.2"
05gcc-i686-pc-linux-gnu:ROOTPATH="/usr/i586-pc-linux-gnu/gcc-bin/4.1.2"

Il semblerait donc que la mise à jour de GCC en même temps que le changement de CHOST créé des liens symboliques de l'architecture actuelle vers les dossiers de l'ancienne, EN PLUS d'en créer des "corrects".
Je verrais ça à tête reposée demain :)

P.S.: De mémoire, je crois qu'il n'est pas pratique de recompiler simplement les binutils, gcc et glibc sans emerge --sync, car certains patchs requis ne sont plus disponibles, d'après ce que m'a dit Portage il y a une petite semaine.
User avatar
Toudix
Simple Hen
 
Posts: 59
Joined: Wed Jul 11, 2007 20:25

Postby turquoise » Mon Jul 30, 2007 22:03

Euh, mettre à jour gcc en même temps qu'un changement de CHOST, ce n'est pas recommandé. Il faut faire l'un et ensuite l'autre selon ce qui est écrit dans la doc officielle pour le changement de CHOST.

Je confirme pour binutils, l'ebuild présent lors de l'installation ne fonctionne plus et il faut faire un emerge --sync pour en avoir un qui fonctionne. Ça n'a pas été un problème pour moi parce que j'avais fait emerge gcc avant de faire mon emerge --sync pour compiler binutils, donc j'ai gcc 4.1.2 configuré pour i686 sans acun problèeme et la mise à jour de gcc s'effectuera à la fin de mon emerge -e world. Si le emerge --sync est déjà fait, alors il faut mettre gcc à jour avant de faire le changement de CHOST et vérifier que c'est bien la nouvelle version de gcc qui est utilisée.

Code: Select all
gcc-config -l
pour voir les configurations disponibles, et ensuite,
Code: Select all
gcc-config -c [version]
pour effectuer le changement vers la nouvelle version si nécéssaire. Faire suivre par un emerge -e system par la suite pourrait auusi être une bonne idée avant de procéder au changement de CHOST.
Ma philosophie d'apprentissage : essayer, et si ça casse, essayer de réparer.
My learning philosophy: try it, and if it breaks, try to fix it.
Image
turquoise
Old Dear Hen
 
Posts: 719
Joined: Wed Nov 15, 2006 1:14
Location: Abitibi-Témiscamingue!

Re: Optimisation du système et changement de CHOST

Postby xlnagla » Tue Apr 29, 2008 2:22

Cette poste est tellement vieille - faire un wiki pour l'information ici. Dans une semaine je vais "de-sticky" cette poste.

~xlnagla
xlnagla
Sagely Hen
 
Posts: 1078
Joined: Mon May 28, 2007 2:44

Previous

Return to French

Who is online

Users browsing this forum: No registered users and 1 guest

cron