# [CHOST] comment le changer ?

## shingara

Bonjour à tous,

J'ai un problème assez conséquent et j'aimerais vraiment le résoudre. En effet, dernièrement j'ai fait l'erreur de changer mon CHOST en même temps que mon CXFLAGS. En effet, j'ai voulu passé de i386 à i686. Mais voilà, j'avais oublié qu'il ne fallait JAMAIS changer son CHOST  :Sad: . Donc je le répéte pour ceux qui ne le savent pas NE JAMAIS CHANGER SON CHOST.

Mais voila, maintenant que l'erreur est faite, je ne peux plus rien compilé sur mon PC sans des erreurs dans tous les sens. Hors gentoo est une distribution qui s'appuie quand même sur la compilation. Donc c'est vraiment la plaie. Voulant prouver que Linux n'est pas un OS qui a besoin d'être réinstallé, je voudrais remettre tout à jour pour résoudre mon problème. En fouillant un peu, j'ai cru comprendre qu'une des solutions est de refaire toute la compilation de son système a partir du stage 1, mais encore faut-il avoir, la doc  :Smile: 

Donc, j'aimerais avoir un peu votre avis sur la procédure à adopter pour faire tout ce changement. Ensuite si j'arrive avec succès a faire tout ca, je ferais surement un tuto pour le cas ou une autre personne refait la même erreur que moi  :Smile: 

Merci de votre aide.

----------

## mat2546

slt, 

pour ton probleme tu peux regarder une ancienne doc d'installation de la gentoo 2004. Elle est disponible sur ce site.

Par contre ma variablechost est inialement initialisé en i386. On m'a conseillé de la changer en ii686 ( mon architecture etant en i686).

Et tu sûr que je doive laisser mon chost initialisé à i386?

----------

## shingara

Oui Mat, je te conseille de ne pas bouger ta CHOST. Je viens de le faire et plus rien ne marche completement de ce que j'ai compiler a partir de ce moment la. C'est vraiment indiqué dans la doc  :Smile: 

----------

## nuts

et tu peux rien compiller en chrootant a partir d un live cd ton system et world ?

----------

## Enlight

 *nuts wrote:*   

> et tu peux rien compiller en chrootant a partir d un live cd ton system et world ?

 

ça changerait quoi??? Sinon, même binutils tu n'arrives pas à le compiler?

----------

## shingara

En faite, j'ai eu une erreur en faisant emerge -e sur ncurse. Après j'ai pas recommencer a compiler.

En faite, je cherche pas quoi commencer en compilation. Car je pense qu'il faut compiler dans un certain ordre pour remettre tout au carré et ensuite voir si ca marche. Car certaine compilation ne font pas d'erreur. Mais c'est pas forcement génial  :Sad: 

----------

## Enlight

Oui mais bon le but c'est de tenter si emerge bintils gcc glibc passe (2 fois si possible), si c'est bon emerge -e world derrière et c'est gagné. Sinon va falloire se faire un peu plus ch... mais c'est pas la mer à boire non plus.

----------

## shingara

Ok, je tente ca et je vous annonce le résultat  :Smile: 

----------

## shingara

Bad News  :Sad: 

En effet, je viens de tenter 2 fois le réemerge de binutils gcc et glibc et a chaque fois j'ai l'emerge de binutils et gcc qui fonctionne, mais pas celle de glibc  :Sad: 

Une idée ?

Bon, finalement, je dirais meme que ca s'aggrave  :Sad: 

regarder ce que j'obtiens pour le moindre emerge :

```

shalamarette shingara # emerge -search binutils

/usr/bin/python: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

```

----------

## ultrabug

 *shingara wrote:*   

> Bad News 
> 
> En effet, je viens de tenter 2 fois le réemerge de binutils gcc et glibc et a chaque fois j'ai l'emerge de binutils et gcc qui fonctionne, mais pas celle de glibc 
> 
> Une idée ?

 

Je vais dire une connerie mais... fix_libtool_files.sh ? En lui précisant ton ancienne archi et ta nouvelle ?   :Rolling Eyes: 

----------

## shingara

Rien ne peux etre une connerie avec moi. Des fois il faut se mettre au niveau - 70 de l'échelle de Geek.

Par contre tout n'est pas résolu  :Sad: 

```

shalamarette shingara # fix_libtool_files.sh 3.3 --oldarch i386-pc-linux-gnu

 * Scanning libtool files for hardcoded gcc library paths...

/usr/bin/python: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

:0: assertion failed: (/usr/bin/portageq envvar 'CHOST') | getline CHOST

```

Sinon pour les problèmes de python j'ai retenter le python-updater, mais la encore miracle  :Smile: 

```

halamarette shingara # python-updater

/usr/bin/python: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

/usr/bin/python: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

 * Unable to proceed. Can not find PORTDIR. Make sure the command:

 *

 *   portageq portdir

 *

 * returns a value. If it doesn't, make sure you have updated to

 * latest portage version.

 *

 * Report bugs to http://bugs.gentoo.org/

```

Qui dit mieux ?

----------

## ultrabug

 *shingara wrote:*   

> Rien ne peux etre une connerie avec moi. Des fois il faut se mettre au niveau - 70 de l'échelle de Geek.
> 
> Par contre tout n'est pas résolu 
> 
> ```
> ...

 

rm -rf * ?

ok ->[] :'( désolé

----------

## shingara

J'ai hélas vraiment peur que la réinstalle ne soit nécessaire. Mais ca m'embete quand meme beaucoup :'(

----------

## Enlight

bon ben y'a un dev qu'a un repository des paquets de base pour les cas extremes, le truc c'est que l'url c'est dev.gentoo.org/~$nom_du_dev et que je sais plus lequel c'est.. tente voir une rapide recherche, on en a déjà parlé dans ce forum.

----------

## boozo

'alute

mmmh... pas glop ! pas glop !   :Confused: 

tu as essayé de faire 

```
revdep-rebuild --library libstdc++.so.6 -- -p -v
```

[Edit] au fait... où sont localisés libstdc++.so.* chez toi maintenant ?

----------

## ultrabug

 *Enlight wrote:*   

> bon ben y'a un dev qu'a un repository des paquets de base pour les cas extremes, le truc c'est que l'url c'est dev.gentoo.org/~$nom_du_dev et que je sais plus lequel c'est.. tente voir une rapide recherche, on en a déjà parlé dans ce forum.

 

C'est avenj qui fournit ca  :Smile: 

http://dev.gentoo.org/~avenj/bins/i686/

----------

## kopp

Pour recompiler tout le toolchain etc, tu ne pourrais pas utiliser l'outils crossdev qui sert lors des compilations croisées avec distcc : normalement il compile tout un toolchain pour le chost demandé, peut etre qu'a partir de là tu peux terminer.

----------

## shingara

un revdep-rebuild plante a cause de la perte de emerge  :Sad: 

Au niveau de la localisation de ma libstdc++ voici mon résultat :

```

shalamarette saveForm # find / -name 'libstdc++.so.*'

/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.6/libstdc++.so.5.0.7

/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.6/libstdc++.so.5

/usr/lib/libstdc++.so.2.7.2.8

/usr/lib/libstdc++.so.2.8.0

/usr/lib/libstdc++.so.2.9.0

/usr/lib/libstdc++.so.2.9

/usr/lib/libstdc++.so.2.8

/usr/lib/libstdc++.so.2.7.2

/usr/lib/openoffice/program/libstdc++.so.6.1

/usr/lib/openoffice/program/libstdc++.so.6

/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libstdc++.so.6.0.3

/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libstdc++.so.6

/usr/lib/libstdc++-v3/libstdc++.so.5.0.6

/usr/lib/libstdc++-v3/libstdc++.so.5

```

En gros, il y en a un peu partout  :Smile: 

Sinon en regardant ce que propose avenj, c'est pas tout tout jeune. Meme python 2.4 n'y est pas  :Sad: 

----------

## boozo

bon ben portage rescue alors...   :Confused: 

[Edit] (doc.: /usr/portage/sys-apps/portage/files/README.RESCUE)

----------

## shingara

Je ne peux meme pas utiliser ce truc. En effet, pour faire cela, il faut utiliser emerge  :Smile: 

Hors emerge ne fonctionne plus du tout.

Plus rien ne fonctionne meme. J'obtiens une erreur de la libstdc++ a peu pres pour tout ce que je veux utiliser.

Je crois vraiment que j'obtiens la palme de la gentoo cassé. Je vais vraiment être obligé de tout réinstaller  :Sad: 

Merci de votre aide

----------

## boozo

 *shingara wrote:*   

> Je ne peux meme pas utiliser ce truc. En effet, pour faire cela, il faut utiliser emerge

 

 :Shocked:   !  tu détare l'archive à la racine et hop ?!   :Rolling Eyes: 

----------

## shingara

Oui, mais ca résoud pas mon pb, car ca c'est juste portage. Hors pour lire portage il faut emerge  :Smile: 

----------

## boozo

 *shingara wrote:*   

> Oui, mais ca résoud pas mon pb, car ca c'est juste portage. Hors pour lire portage il faut emerge 

 

 :Shocked:   !    :Shocked:   !

tu confondrais pas portage et le snapshot de l'arbre portage par hazards...?   :Shocked: 

la cmd emerge est fournie par le package portage qui chez toi est cassé... et si tu as un doute et que çà fonctionne encore chez toi essaye de voir avec equery b emerge   :Rolling Eyes: 

```
equery b emerge

[ Searching for file(s) emerge in *... ]

sys-apps/portage-2.0.54 (/usr/bin/emerge -> ../lib/portage/bin/emerge)

sys-apps/portage-2.0.54 (/usr/lib/portage/bin/emerge)

```

----------

## shingara

En fait c'était pas portage qui était cassé, c'était python  :Smile:  car il arrivait pas a trouvé la libstdc++. Comme tous les autres soft  :Smile: 

----------

## boozo

tu utilises le passé... tant mieux   :Smile:   tu nous donnes une petite explication sur le comment... pour les futurs pbs   :Wink: 

----------

## shingara

hélas j'utilise le Passé car c'était devenu impossible d'utilisé mon pc :'(

Durant un nouveau boot, je n'ai jamais pu me logguer sur fluxbox car il me sortait une erreur avec la libstdc++. je ne pouvais plus lancer mysql toujours a cause de libstdc++. meme man me faisait des souci et je ne pouvais plus l'utiliser.

Donc quand on ne peux plus faire man ? il faut réinstaller :'(

ps : shingara élu buggueur du jour

----------

## kopp

Hum, liveCD + chroot... ça pourrait peut etre t'aider non ? avant de tout reinstaller....

----------

## Enlight

 *ultrabug wrote:*   

>  *Enlight wrote:*   bon ben y'a un dev qu'a un repository des paquets de base pour les cas extremes, le truc c'est que l'url c'est dev.gentoo.org/~$nom_du_dev et que je sais plus lequel c'est.. tente voir une rapide recherche, on en a déjà parlé dans ce forum. 
> 
> C'est avenj qui fournit ca 
> 
> http://dev.gentoo.org/~avenj/bins/i686/

 

binutils, gcc, glibc, bash, python, make,... Je vois pas ce qu'il te faudrait de plus tu utilises ces binaires et zou emerge -e world.

edit : et le lien direct vers le README : http://dev.gentoo.org/~avenj/bins/README

----------

## kopp

@ ENlight : Argh t'as changé d'avatar, ça fait un choc, c'est fourbe tout ça... tu me donnes envie de jouer à street là !

----------

## Enlight

 *kopp wrote:*   

> @ ENlight : Argh t'as changé d'avatar, ça fait un choc, c'est fourbe tout ça... tu me donnes envie de jouer à street là !

 

Oui ça me titillait depuis un moment, j'arrivais pas à réduire assez celui du sho-ryu-ken, dohnc celui de la victoire me va très bien  :Mr. Green: 

<mode=autosatisfaction> Ken level 32 dans street alpha 3 quand même hein, faut se les faire les 4 akumas puis shin akuma!!! ^_^ </mode>

----------

## boozo

 *Enlight wrote:*   

>  *ultrabug wrote:*    *Enlight wrote:*   bon ben y'a un dev qu'a un repository des paquets de base pour les cas extremes, le truc c'est que l'url c'est dev.gentoo.org/~$nom_du_dev et que je sais plus lequel c'est.. tente voir une rapide recherche, on en a déjà parlé dans ce forum. 
> 
> C'est avenj qui fournit ca 
> 
> http://dev.gentoo.org/~avenj/bins/i686/ 
> ...

 

oui moi également...   :Confused:   mais bon maintenant...

tant pis   :Rolling Eyes: 

@Enlight : je confirme... le changement çà fait un choc au début  :Mr. Green: 

----------

