OVH Cloud OVH Cloud

Pb lib gcc sur gentoo

17 réponses
Avatar
pascal
Salut,

Depuis la mise à jour de gcc certains programmes recherche des librairies
"libstdc++.la" dans le répertoire de la version 3.3.2 de gcc alors que
c'est une version 3.3.5. (en particulier php4) Ce répertoire n'apparaît
pas dans /etc/env.d et /etc/ld.so.conf !

Comment gcc trouve cette version lors du link ?

10 réponses

1 2
Avatar
TiChou
Dans le message <news:,
*pascal* tapota sur f.c.o.l.configuration :

Salut,


Bonsoir,

Depuis la mise à jour de gcc certains programmes recherche des librairies
"libstdc++.la" dans le répertoire de la version 3.3.2 de gcc alors que
c'est une version 3.3.5. (en particulier php4)


J'ai du mal à comprendre quels sont les problèmes réellement rencontrés.
Pouvez-vous être plus précis par exemple en nous indiquant ce que vous avez
voulu faire et les éventuels messages d'erreurs ?
En attendant, vérifiez avec gcc-config que gcc est configuré pour utiliser
le bon profile.

--
TiChou

Avatar
pascal
On Wed, 29 Jun 2005 20:53:19 +0200, TiChou wrote:

Dans le message <news:,
*pascal* tapota sur f.c.o.l.configuration :

Salut,


Bonsoir,

Depuis la mise à jour de gcc certains programmes recherche des librairies
"libstdc++.la" dans le répertoire de la version 3.3.2 de gcc alors que
c'est une version 3.3.5. (en particulier php4)


J'ai du mal à comprendre quels sont les problèmes réellement rencontrés.
Pouvez-vous être plus précis par exemple en nous indiquant ce que vous avez
voulu faire et les éventuels messages d'erreurs ?
En attendant, vérifiez avec gcc-config que gcc est configuré pour utiliser
le bon profile.


gcc-config -c indique bien la 3.3.5, gcc-config -E donne les bons chemins.
je veut reinstaller php qui semble ne pas avoir mysql de configurer pour
une utilisation en ligne de commande (pb d'install d'applis OBM):
donc 'USE="-qt" emerge php' (pas d'environnement graphique sur ce serveur)
La compilation est Ok mais lors du link, j'ai une erreur car il ne trouve
pas "stdlibc++.la" (toujours des problèmes avec c++ !!!) rechercher par
défaut dans /usr/lib/gcc-lib/i386.pc-linux-gnu-3.3.2.

j'ai dut surement installer php, puis mysql, puis apache et mod_mysql en
dernier.


Avatar
Matlerouge
pascal wrote:
On Wed, 29 Jun 2005 20:53:19 +0200, TiChou wrote:


Dans le message <news:,
*pascal* tapota sur f.c.o.l.configuration :


Salut,


Bonsoir,


Depuis la mise à jour de gcc certains programmes recherche des librairies
"libstdc++.la" dans le répertoire de la version 3.3.2 de gcc alors que
c'est une version 3.3.5. (en particulier php4)


J'ai du mal à comprendre quels sont les problèmes réellement rencontrés.
Pouvez-vous être plus précis par exemple en nous indiquant ce que vous avez
voulu faire et les éventuels messages d'erreurs ?
En attendant, vérifiez avec gcc-config que gcc est configuré pour utiliser
le bon profile.



gcc-config -c indique bien la 3.3.5, gcc-config -E donne les bons chemins.
je veut reinstaller php qui semble ne pas avoir mysql de configurer pour
une utilisation en ligne de commande (pb d'install d'applis OBM):
donc 'USE="-qt" emerge php' (pas d'environnement graphique sur ce serveur)
La compilation est Ok mais lors du link, j'ai une erreur car il ne trouve
pas "stdlibc++.la" (toujours des problèmes avec c++ !!!) rechercher par
défaut dans /usr/lib/gcc-lib/i386.pc-linux-gnu-3.3.2.



Peut etre faire un env-update histoire que le cache de ld soit remis a
jour, (ce qui du etre fait automatiquement a l'install de gcc).

Y'a t'il deja une version de php deja installée et compilée avec gcc 3.3.2 ?

Des fois, apres une mise a jour de gcc sous gentoo, une recompilation de
tout le "toolchain" peut remetre les chose en place (c'est a dire
recompiler binutils, glibc et eventuelement encore une fois gcc, et meme
pour faire du zele il existe un script qui fait ca tres bien dont j'ai
oublié le nom). Et ensuite faut recompiler les programme qui
fonctionnent plus.

Mais bon, vu que c'est une mise a jour mineur de gcc, ca doit pas etre
ca la cause du probleme.

Par contre est-ce que libstdc++.la existe dans le repertoire de la 3.3.5 ?



Avatar
pascal
On Wed, 29 Jun 2005 22:08:05 +0200, Matlerouge wrote:

pascal wrote:
On Wed, 29 Jun 2005 20:53:19 +0200, TiChou wrote:


Dans le message <news:,
*pascal* tapota sur f.c.o.l.configuration :


Salut,


Bonsoir,


Depuis la mise à jour de gcc certains programmes recherche des librairies
"libstdc++.la" dans le répertoire de la version 3.3.2 de gcc alors que





......

Peut etre faire un env-update histoire que le cache de ld soit remis a
jour, (ce qui du etre fait automatiquement a l'install de gcc).

Y'a t'il deja une version de php deja installée et compilée avec gcc 3.3.2 ?

Des fois, apres une mise a jour de gcc sous gentoo, une recompilation de
tout le "toolchain" peut remetre les chose en place (c'est a dire
recompiler binutils, glibc et eventuelement encore une fois gcc, et meme
pour faire du zele il existe un script qui fait ca tres bien dont j'ai
oublié le nom). Et ensuite faut recompiler les programme qui
fonctionnent plus.

Mais bon, vu que c'est une mise a jour mineur de gcc, ca doit pas etre
ca la cause du probleme.

Par contre est-ce que libstdc++.la existe dans le repertoire de la 3.3.5 ?


En gros, je suis passé d'une gentoo 2004.1 a une gentoo 2005.0. Donc tout
les packetages system ont été mis à jour suite à des mises a jours des
applis tournant sur ce serveur. j'ai modifier les ficher /etc/env.d/05gcc
qui contenait encore une ligne vers gcc 3.3.2, puis j'ai fait un
env-update.

Mais le probléme est identique.

De plus c'est un PIII 450, et c'est un peu long (malgré distcc avec le
2éme serveur plus costaud) à vérifier pour recompiler des applis
lourdes (gcc).
Il doit bien garder une trace de ce chemin quelque part sur le système !




Avatar
l'indien
On Wed, 29 Jun 2005 19:37:03 +0200, pascal wrote:

Salut,

Depuis la mise à jour de gcc certains programmes recherche des librairies
"libstdc++.la" dans le répertoire de la version 3.3.2 de gcc alors que
c'est une version 3.3.5. (en particulier php4) Ce répertoire n'apparaît
pas dans /etc/env.d et /etc/ld.so.conf !

Comment gcc trouve cette version lors du link ?


Quand on met à jour gcc, il faut généralement remerger la libstdc++
pour éviter ce genre de problèmes.

Avatar
TiChou
Dans le message <news:,
*pascal* tapota sur f.c.o.l.configuration :

En gros, je suis passé d'une gentoo 2004.1 a une gentoo 2005.0. Donc tout
les packetages system ont été mis à jour suite à des mises a jours des
applis tournant sur ce serveur.


Avant ces mises à jour, aviez-vous bien mis à jour l'arbre portage ?
Après les différentes mises à jour, avez-vous suivi les différentes
recommandations faites à la fin de chaque emerge ?

j'ai modifier les ficher /etc/env.d/05gcc qui contenait encore une ligne
vers gcc 3.3.2,


Ce fichier ne doit pas être modifié manuellement. Utilisez l'outil
gcc-config pour mettre à jour l'environnement de gcc (avec l'option -f s'il
le faut).

Il doit bien garder une trace de ce chemin quelque part sur le système !


Le fichier /etc/ld.so.conf est-il bien à jour (normallement cela est fait
par gcc-config) ?

--
TiChou

Avatar
pascal
On Wed, 29 Jun 2005 23:05:51 +0200, l'indien wrote:

On Wed, 29 Jun 2005 19:37:03 +0200, pascal wrote:

Salut,

Depuis la mise à jour de gcc certains programmes recherche des librairies
"libstdc++.la" dans le répertoire de la version 3.3.2 de gcc alors que
c'est une version 3.3.5. (en particulier php4) Ce répertoire n'apparaît
pas dans /etc/env.d et /etc/ld.so.conf !

Comment gcc trouve cette version lors du link ?


Quand on met à jour gcc, il faut généralement remerger la libstdc++
pour éviter ce genre de problèmes.


Oui, mais me package est masqué. Je l'ai mis en unmaks mais j'ose pas
faire l'installation. C'est une machine de prod.


Avatar
pascal
On Wed, 29 Jun 2005 23:40:55 +0200, TiChou wrote:

Dans le message <news:,
*pascal* tapota sur f.c.o.l.configuration :

En gros, je suis passé d'une gentoo 2004.1 a une gentoo 2005.0. Donc tout
les packetages system ont été mis à jour suite à des mises a jours des
applis tournant sur ce serveur.


Avant ces mises à jour, aviez-vous bien mis à jour l'arbre portage ?
Après les différentes mises à jour, avez-vous suivi les différentes
recommandations faites à la fin de chaque emerge ?

j'ai modifier les ficher /etc/env.d/05gcc qui contenait encore une ligne
vers gcc 3.3.2,


Ce fichier ne doit pas être modifié manuellement. Utilisez l'outil
gcc-config pour mettre à jour l'environnement de gcc (avec l'option -f s'il
le faut).

Il doit bien garder une trace de ce chemin quelque part sur le système !


Le fichier /etc/ld.so.conf est-il bien à jour (normallement cela est fait
par gcc-config) ?


Portage est à jour, mais ce fut difficile. Il est possible que l'erreur
traine depuis cette mise à jour. J'avais refait un mise à jour de
portage suite à un "portage-rescue".

ld.so.conf est mis à jour par env-update non ?

Pour gcc-config, il pointe bien sur le bon dossier de gcc.


Avatar
TiChou
Dans le message <news:,
*pascal* tapota sur f.c.o.l.configuration :

Après les différentes mises à jour, avez-vous suivi les différentes
recommandations faites à la fin de chaque emerge ?



Vous n'avez pas répondu. :)

j'ai modifier les ficher /etc/env.d/05gcc qui contenait encore une ligne
vers gcc 3.3.2,


Ce fichier ne doit pas être modifié manuellement. Utilisez l'outil
gcc-config pour mettre à jour l'environnement de gcc (avec l'option -f
s'il le faut).



Avez-vous relancé comme je vous le suggerai la commande gcc-config avec
l'option -f ?

Le fichier /etc/ld.so.conf est-il bien à jour (normallement cela est fait
par gcc-config) ?



Vous n'avez pas répondu.

ld.so.conf est mis à jour par env-update non ?


Non, par gcc-config.

Pour gcc-config, il pointe bien sur le bon dossier de gcc.


Qu'il pointe sur le bon dossier c'est une chose. gcc-config ne se contente
pas que de ça. Il modifie aussi l'environnement. Relancez-le.

--
TiChou



Avatar
pascal
On Sat, 02 Jul 2005 03:49:04 +0200, TiChou wrote:

Dans le message <news:,
*pascal* tapota sur f.c.o.l.configuration :

Après les différentes mises à jour, avez-vous suivi les différentes
recommandations faites à la fin de chaque emerge ?



Vous n'avez pas répondu. :)


Oui.


j'ai modifier les ficher /etc/env.d/05gcc qui contenait encore une ligne
vers gcc 3.3.2,


Ce fichier ne doit pas être modifié manuellement. Utilisez l'outil
gcc-config pour mettre à jour l'environnement de gcc (avec l'option -f
s'il le faut).



Avez-vous relancé comme je vous le suggerai la commande gcc-config avec
l'option -f ?


Cet option n'existe pas.


Le fichier /etc/ld.so.conf est-il bien à jour (normallement cela est fait
par gcc-config) ?




env-update me met bien a jour /etc/ld.so.conf, ainsi que /etc/ld.so.cache.
J'ai supprimer manuellement les répertoires vers 3.3.2, et env-update me
les a remis en suivant. En supprimant dans /etc/env.d/05gcc la référence
vers 3.3.2, env-update a mis un /etc/ld.so.conf correcte.

Vous n'avez pas répondu.

ld.so.conf est mis à jour par env-update non ?


Non, par gcc-config.

Pour gcc-config, il pointe bien sur le bon dossier de gcc.


Qu'il pointe sur le bon dossier c'est une chose. gcc-config ne se
contente pas que de ça. Il modifie aussi l'environnement. Relancez-le.


pour gcc-copnfig, je n'est que les switchs -O -P -c -l -E -B -L -X, qui ne
sont que des paramétres d'info. gcc-config -f donne une erreur.
Il y a plusieurs version ?




1 2