# [gcc]probleme de boot suite maj gcc

## tdyp

... du moins je crois.

j explique mon soucis:

suite a un

```
# emerge --newuse system
```

un message d erreur m indique qu un paquet ne peut s installer qu'avec la version (je sais plus laquelle) de gcc

je fais donc un

```
# emerge gcc
```

et tout se passe bien. dans les handbook ils expliquent comment changer de version de gcc ce que je fait (peut etre mal la aussi) suite a ça je relance la commande de mise a jour, y avait plus de 300 paquets donc je suis parti faire mes affaires. a mon retour le pc est en veille et impossible d en sortir, impossible d ouvrir un terminal (ctrl+alt+f(1 ou 2 ou... bref))

je tente les magic syskeys.... idem bref obliger de rebooter. c est la que mon probleme survient, tout se passe normalement ( a part un message au boot comme quoi il n arrive pas a charger certains elements) voila ce que j ai trouver en mode interactif:

```
service keymaps:     /bin/loadkeys not found

service consolefont: error cannot start consolefont as keymaps could not start
```

quand le boot se termine apparait l ecran du login. si j entre les identifiants ca commence a charger puis l ecran devient noir.

j ai vu que j arrive quand meme a acceder au prompt en mode interactif. j ai tenté la commande:

# gcc-config 1

# source /etc/profile

# unset GCC_SPECS

# emerge -uav gcc

et suite a un reboot a l ecran du login ca boucle sans cesse.

donc maintenant je suis bloqué je n arrive pas a lancer mon systeme.

est ce que quelqu un aurait une idee?

merci par avance.

----------

## brubru

Salut.

Commence par nous donner plus d'informations:

les versions de gcc installées (gcc-config -l), la version courant utilisée (gcc --version). Ça serait bien de retrouver la liste des paquets qui ont été mis à jour avec la nouvelle version...

Si tu as des modules noyaux externes (genre nvidia, ati) ils doivent être compiler avec la même version du compilateur que le noyau (voir uname -a et modinfo).

Si tu veux booter directement en mode console ajoute 'nox' au démarrage du grub.

enfin, puisque ça à l'air d'être le démarrage du bureau qui plante, loggue-toi en utilisateur normal dans la console, puis lance startx ou XSESSION="Kde|Gnome..." startx, voire XSESSION="xterm" startx simplement, et ensuite lancer chaque appli (panel, session-manger, desktop...) à la main.

En revenant sur la console tu devrais voir qu'elle application plante le serveur X et le relance.

/sbin/loadkeys appartient au paquet sys-apps/kbd

j'image que tu dois taper toutes les commandes en qwerty   :Rolling Eyes: 

Bon courage !

----------

## tdyp

 *brubru wrote:*   

> Salut.
> 
> Commence par nous donner plus d'informations:
> 
> les versions de gcc installées (gcc-config -l), la version courant utilisée (gcc --version). Ça serait bien de retrouver la liste des paquets qui ont été mis à jour avec la nouvelle version...
> ...

 

bonsoir

merci de ton aide voila les reponses aux questions auxquelles je peux repondre:

les versions de gcc installés:

[1] i...... gcc-4.1.2 *

[2] i.......gcc-4.3.3

donc le soucis est survenu suite au passage a la version 4.3.3

pour la liste des paquets là désolé, comme je l ai dit plus haut lors des maj j ai laissé faire je n ai donc aucunes idees de ce qui a ete fait.

pour demarrer en console je le fait lorsqu il passe en mode interactif. Par contre j utilise lilo et non grub

par contre en console si je lance startx l application plante. a mon avis c est du au fait que lorsque je passe en mode interactif, des la 1ere question je passe direct en console. donc tout ce qui etait chargé auparavant ne l est donc pas.

je ne sais pas si j ai aider a faire avancer le probleme.

ceci dit j ai un autre soucis... j aimerai sauvegardé mes donnees presentes sur le disque, je branche donc un disque externe, je le monte mais impossible de transferer les donnees dedans. le disque est en lecture seule et il m est impossble de changer les droit d acces.

une idee???

merci!

----------

## xaviermiller

salut,

As-tu lancé "fix_libtool.sh" ?

----------

## tdyp

 *XavierMiller wrote:*   

> salut,
> 
> As-tu lancé "fix_libtool.sh" ?

 

bonjour

 :Confused:  non je le fait de ce pas

merci!

edit: en lancant la commande que tu m as donné une erreur est sortie.

een faisant des recherches j ai trouve une commande qui s en rapprochait :"fix_libtool_files.sh" j ai tenter la commande 7 etapes se sont derouler... mais rien de plus... j ai lu ensuite que je peux tenter un "revdep-rebuild" j ai donc telecharger le paquet gentoolkit et je viens de lancer la commande.

je vous tiens au courant.

----------

## xaviermiller

oui, j'ai cité la commande de tête  :Wink: 

la syntaxe est "cette_fameuse_commande numéro_de_l_ancienne_version_gcc"  :Wink: 

----------

## kopp

Moi je remarque que gcc config pointe vers gcc 4.1 et pas gcc 4.3, donc si tu n'as pas changé, le problème ne vient pas de gcc 4.3

ensuite, recompiler gcc ne changera pas ton démarrage si tu ne recompiles pas les autres programmes

as-tu fais un etc-update après ta mise à jour de system ?

Ensuite ton système s'est bloqué dans une mise à jour, es-tu sur que la mise à jour est terminée ?

Si ton système ne démarre pas comme il faut, tu peux utiliser un liveCD et faire un chroot comme dans le manuel d'installation, et finir la mise à jour proprement depuis là...

----------

## xaviermiller

Tant qu'on parle d'outils, n'oubliez pas elogv, c'est vraiment précieux de pouvoir retrouver par après les messages (warning, erreurs) lors des compilations.

----------

## Pixys

C'est une installation fraiche ? (ça à l'air vu le nombre de paquets à mettre à jour) tu utilises un tarball Gentoo ?

Si c'est le cas c'est mal embarqué : je n'ai jamais pu faire une mise à jour complète après une installation via une release Gentoo -> trop vieux, ça plante de partout, tu règles un problème, il y en a un autre qui surgit, bref, grosse galère. Conseil : pour une nouvelle installation prend un tarbal Funtoo.

Sinon, je plussoie Kopp, gcc 4.3 n'y est pour rien sauf si tu t'es "amusé à switcher" entre les versions.

----------

## kopp

 *Pixys wrote:*   

> C'est une installation fraiche ? (ça à l'air vu le nombre de paquets à mettre à jour) tu utilises un tarball Gentoo ?
> 
> Si c'est le cas c'est mal embarqué : je n'ai jamais pu faire une mise à jour complète après une installation via une release Gentoo -> trop vieux, ça plante de partout, tu règles un problème, il y en a un autre qui surgit, bref, grosse galère. Conseil : pour une nouvelle installation prend un tarbal Funtoo.
> 
> Sinon, je plussoie Kopp, gcc 4.3 n'y est pour rien sauf si tu t'es "amusé à switcher" entre les versions.

 

Faut pas pousser sur les mises à jour, j'ai fait des maj complètes de systèmes complets après plus de 9 mois et c'est passé, alors les release gentoo, ça doit passer.

----------

## nico_calais

 *kopp wrote:*   

>  *Pixys wrote:*   C'est une installation fraiche ? (ça à l'air vu le nombre de paquets à mettre à jour) tu utilises un tarball Gentoo ?
> 
> Si c'est le cas c'est mal embarqué : je n'ai jamais pu faire une mise à jour complète après une installation via une release Gentoo -> trop vieux, ça plante de partout, tu règles un problème, il y en a un autre qui surgit, bref, grosse galère. Conseil : pour une nouvelle installation prend un tarbal Funtoo.
> 
> Sinon, je plussoie Kopp, gcc 4.3 n'y est pour rien sauf si tu t'es "amusé à switcher" entre les versions. 
> ...

 

+1 Je n'utilise pas forcement le livecd gentoo pour une install mais j'ai toujours utilisé les tarballs fournis pas gentoo. Si paquet bloquant il y a, on trouve toujours une réponse dans les forums du site si on est pas sûr de ce qu'il faut faire. J'ai jamais eu de "plantage" ou de comportement ressemblant à un plantage.

----------

## Pixys

[OFF]

je ne dis pas qu'en cas de problèmes c'est insolvable simplement que c'est moins confortable... 

De plus je trouve que faire la chasse au petit truc qui coince sur une mise à jour de 300 paquets n'apprend pas grand chose et fait perdre du temps ; depuis hier, 1h du matin, date de son premier message, il aurait eu le temps de la faire 10 fois sa ré-installation.

Et puis ça dépend de ce qui a évolué en 9 mois...

Si je dis ça c'est que j'ai fait 3 installations à partir des tarballs gentoo sur des architectures différentes le mois dernier et que je n'en ai mené aucune à terme ; reste évidemment la possibilité que je sois moins doué qu'un autre   :Smile: 

Cependant, rien pour le moment n'indique que ce soit une installation fraîche.

[/OFF]

----------

## titoucha

+1 la gestion des dépendances est vraiment super bien faite sous Gentoo et je n'ai jamais eu de problèmes qui ne puissent pas être résolus.

----------

## tdyp

 *kopp wrote:*   

> Moi je remarque que gcc config pointe vers gcc 4.1 et pas gcc 4.3, donc si tu n'as pas changé, le problème ne vient pas de gcc 4.3
> 
> ensuite, recompiler gcc ne changera pas ton démarrage si tu ne recompiles pas les autres programmes
> 
> as-tu fais un etc-update après ta mise à jour de system ?
> ...

 

le fait que cela pointe sur le 4.1 c est parce que sur le 4.3 cela engendrait un ecran noir que j interpretait comme un plantage, en tout cas c etait tout comme.

suite au plantage je n ai pas fait le etc-update... et je suis persuadé que la mise a jour ne s est pas terminé.

mon installe date un peu mais je m y suis remis parce que je commencais a travailler sur le wifi et surtout sur samba.

je ne pense pas utiliser un tarball (je ne sais pas ce que c est).

par contre tant que vous y etes une idee pour mon soucis de montage de disque dur externe?

c est un disque de portable convertis, pour eviter les soucis j ai mis les partitions en fat32 cependant (je ne sais pas si ca joue) j ai laisser la partition de restauration de l ancien systeme.

au fait mon revdep-rebuild me renvoit une erreur de compilation la je ne suis pas chez moi je verrai ca plus tard

----------

## nico_calais

 *Quote:*   

> 
> 
> ervice keymaps:     /bin/loadkeys not found 
> 
> service consolefont: error cannot start consolefont as keymaps could not start

 

Je pense qu'il faudrait se concentrer sur ces messages d'erreur. En quoi gcc va influencer le fait qu'on ne trouve plus loadkeys ? 

Tu devrais regarder pourquoi ton système trouve pas loadkeys. C'est clairement pas normal que ton système le trouve pas et je ne vois pas comment une mise à jour de gcc pourrait le shooter...

----------

## tdyp

moui moui moui.

c est surement une solution...

bon je suis venu voir ce que me disait le revdep-rebuild, en fait la compilation ne passe pas. une erreur se produit.

 :Rolling Eyes: 

----------

## brubru

Bonsoir.

Pour retrouver la liste des paquets installés, il y a genlop (app-portage/genlop) et qlop (app-portage/portage-utils) qui peuvent être intéressants.

Sinon à coup de grep dans /var/db/pkg, j'arrive à retrouver le PATH utilisé et donc la version de gcc.

```

bzgrep "ROOTPATH=.*gcc.*4.3.3" /var/db/pkg/*/*/environment.bz2 | sed -e 's:environ::'

ou

bzgrep "ROOTPATH=.*gcc" /var/db/pkg/*/*/environment.bz2 | sed -e 's|/environ.*gcc-bin/| ==> |' -e 's|:.*$||'

```

le problème de loadkeys, vient peut-etre que tu démarre en mode intéractif avec le minimum de service, essaye de tous les charger sauf xdm.

pour le plantage de startx, verifie la sortie de Xorg (/var/log/Xorg.0.log)

pour le revdev-rebuild, donne nous la liste des paquets qu'il veut recompiler et l'erreur de compilation si possible.

le emerge --info, serait interessant aussi

il serait bien de faire le etc-update, même si la mise à jour n'est pas complète, au moins les paquets déjà mis à jour auront leur bonne configuration.

Pour le disque externe, à vérifier:

que dit dmesg quand le disque est branché ?

tous les modules pour l'usb sont-ils bien chargés (lsmod)

as-tu les fichiers devices correspondant: /dev/sd* /dev/disks/by-* ?

es-tu en root ou en utilisateur normal ?

tu monte avec mount, pmount, pmount-hal, autre... ?

verifier les droits du point de montage, les groupes du l'utilisateur normal (plugdev)

PS: un tarball est simplement une archive tar, dans notre cas on parle d'un stage3 gentoo ou funtoo.

Allez, c'est comme ça qu'on apprend !

----------

## kopp

Si tu es persuadé que la mise à jour n'est pas terminé, prends un liveCD, suis le manuel gentoo pour démarrer et faire le chroot et une fois dans le chroot, tu finis la mise à jour. Si ton système est bancal, ce n'est pas forcément une bonne idée de travailler dessus.

Donc, dans l'ordre :

liveCD

chroot

fin de la mise à jour

revdep-rebuild si nécessaire

etc-update

reboot

et ensuite on se penchera sur le problème du disque dur.

Ensuite pour plus d'aides spécifiques sur les plantages, il faudra les info usuelles telles que emerge --info et les version exactes des paquets qui plantent avec les messages d'erreur.

----------

## tdyp

^^ ok je vais voir ca pour la mise a jour...

par contre j avoue que le soucis du disque dur m aurait bien aidé  :Razz:  comme ca au pire j aurai pu reinstaller   :Razz: 

bon je tente ca je vous tien s au jus!

----------

## tdyp

bon j ai demarre sous le livecd, j ai tenter de terminer la maj = mais ca ne passe pas

alors mon emerge --info:

```

Portage 2.1.6.7 (default/linux/x86/2008.0, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.24-gentoo-r5 i686)

=================================================================

System uname: Linux-2.6.24-gentoo-r5-i686-Intel-R-_Pentium-R-_M_processor_1.40GHz-with-glibc2.0

Timestamp of tree: Fri, 20 Feb 2009 21:15:02 +0000

app-shells/bash:     3.2_p39

dev-java/java-config: 1.3.7, 2.1.6

dev-lang/python:     2.4.4-r13, 2.5.2-r8

dev-python/pycrypto: 2.0.1-r6

dev-util/cmake:      2.4.6-r1

sys-apps/baselayout: 1.12.11.1

sys-apps/sandbox:    1.3.8

sys-devel/autoconf:  2.13, 2.63

sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2

sys-devel/binutils:  2.19.1

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.6a

virtual/os-headers:  2.6.28-r1

ACCEPT_KEYWORDS="x86 ~x86"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-O2 -march=pentium-m -pipe"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /var/lib/hsqldb"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-O2 -march=i686 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ "

LDFLAGS="-Wl,-O1"

LINGUAS="fr"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="X a52 aac aalib acl acpi alsa apm avahi berkdb bzip2 cdinstall cdparanoia cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread ffmpeg flac fortran gdbm gif gnome gpm gstreamer gtk hal hardened iconv ipv6 isdnlog java java6 javascript jce jpeg jpeg2k kerberos lame ldap mdnsresponder-compat midi mozilla mp3 mpeg mplayer msn mudflap ncurses nls nptl nptlonly nsplugin ogg openmp pam pcmcia pcre pdf perl png pppd python quicktime raw readline reflection samba session spl sse sse2 ssl sysfs tcpd unicode vorbis wifi win32codecs winbind x86 xorg xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" USERLAND="GNU" VIDEO_CARDS="intel"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

```

le paquet qui bloque la maj est pango une erreur de compilation

bon c est un peu chaud pour moi le clavier est en qwerty

----------

## Tanki

elo !

j'ai eu la meme erreur sur le loadkeys

donc j'ai linké les binaires à l'endroit demandé

ensuite mon xdm est parti en sucette aussi

alors j'ai fait un startx, et en démarrant une appli j'ai remarqué qu'il avait du mal avec l'utf8

j'ai donc lancé la commande locale, pour me rendre compte que tout mon système etait passé en fr_FR@euro

j'ai donc suivi le tuto pour repasser mon système en UTF8 (qui l'était avant), il me reste maintenant à recompiler les éléments de E17 qui dépendent de la locale

pour le moment ça a l'air de mieux marcher même si ce n'est pas encore parfait

voili

my 2 cents  :Smile: 

----------

## kopp

Bon alors,je vois que tu es encore en portage 2.1 alors que tu es en ~x86 (il est peut-être hardmask mais ça se démasque sans problème, c'est un mask idiot, pas pour problèmes de stabilité)

Ensuite ta maj, tu peux la poursuivre avec emerge --resume --skipfirst

Enfin, une version et un message d'erreur pourrait aider à diagnostiquer le problème

----------

## xaviermiller

 *kopp wrote:*   

> Ensuite ta maj, tu peux la poursuivre avec emerge --resume --skipfirst

 

--resume --skipfirst existe depuis Portage 1.0  :Wink: 

(c'est --ongoing qui a été introduit dans la 2.2  :Smile: )

----------

## brubru

Salut !

 *Quote:*   

> ACCEPT_KEYWORDS="x86 ~x86" 

 

Ton système est en ~x86 d'origine ou depuis la mise à jour problématique ?

 *Quote:*   

> Portage 2.1.6.7 (default/linux/x86/2008.0, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.24-gentoo-r5 i686) 

 

tu as la dernière version stable de portage, ok

par contre, la gilbc-2.9, elle a été mise à jour en même temps que gcc ? si oui, je pense qu'on est bon pour une réinstallation, glibc est un élément très sensible du système et je crois qu'il est pas envisageable de faire un downgrade.  :Sad: 

Pour le disque externe, je m'autocite:

 *Quote:*   

> 
> 
> que dit dmesg quand le disque est branché ?
> 
> tous les modules pour l'usb sont-ils bien chargés (lsmod)
> ...

 

plus, si c'est bien du fat32, verifie que le module vfat est lancé.

Sinon regarde si la partition de restauration de l'ancien système n'est pas en première position, ce qui fait que la partition voulue serait /dev/sdb2 et non /dev/sdb1.

Enfin, quand tu démarres à partir du livecd, puis que tu branches le disque usb, ça ne marche pas non plus ?

----------

## tdyp

 *brubru wrote:*   

> 
> 
>  *Quote:*   
> 
> que dit dmesg quand le disque est branché ?
> ...

 

voila ce que me donne dmesg apres raccordement du disque.

```

sd 5:0:0:0: [sdb] 156301488 512-byte hardware sectors (80026 MB)

sd 5:0:0:0: [sdb] Write Protect is off

sd 5:0:0:0: [sdb] Mode Sense: 03 00 00 00

sd 5:0:0:0: [sdb] Assuming drive cache: write through

sd 5:0:0:0: [sdb] 156301488 512-byte hardware sectors (80026 MB)

sd 5:0:0:0: [sdb] Write Protect is off

sd 5:0:0:0: [sdb] Mode Sense: 03 00 00 00

sd 5:0:0:0: [sdb] Assuming drive cache: write through

 sdb: sdb1 sdb2

sd 5:0:0:0: [sdb] Attached SCSI disk

```

j ai bien les devices sda et sdb pour le disque externe. par contre je suis en train de me demander si qd je demarre a partir de mon disque <en mode normal> le disque n est pas en hda... bref

les manips sont en root

la commande que j utilise pour monter le disque est la suivante

mount /dev/sdb2 /<le dossier de mon choix>

je n ai pas tenter depuis mon install de base donc tout est fait depuis le live cd.

en fait sur le disque sda je peux creer des dossiers mais si je monte le disque externe sdb impossible de modifier le disque comme creer des dossiers et transferer des donnees

j espere que ca ira pour les infos[/code]

----------

