Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1570 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  [Fedora 4] Problèmes avec l'éditeur de lien et ld.so.conf

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Fedora 4] Problèmes avec l'éditeur de lien et ld.so.conf

n°732781
benj63
Code ami 3DS : 3179-6056-4844
Posté le 21-09-2005 à 09:07:27  profilanswer
 

Bonjour,
 
Je souhaiterais compiler sous Fedora 4 (2.6.11-1.1369_FC4smp) un logiciel que j'utilisais jusqu'à présent sous RedHat 9.
Seulement, il me cause quelques problèmes avec ld ; lors du make, j'obtiens :

/usr/bin/ld: ne peut trouver -lgcc


 
Or, la librairie libgcc 4.0.0 est bien installée sur mon ordi :

# locate libgcc
/lib/libgcc_s-4.0.0-20050520.so.1
/lib/libgcc_s.so.1
/usr/lib/gcc/i386-redhat-linux/4.0.0/libgcc.a
/usr/lib/gcc/i386-redhat-linux/4.0.0/adalib/libgccprefix.a
/usr/lib/gcc/i386-redhat-linux/4.0.0/libgcc_eh.a
/usr/lib/gcc/i386-redhat-linux/4.0.0/libgcc_s.so


 
Sachant que la compilation de ce programme fonctionnait bien sous RedHat 9, avec la librairie libgcc 3.2.2-5, j'ai décidé de l'installer à partir du RPM qu'on peut trouver sur le web (en tant que root) :  

# rpm -i --force libgcc-3.2.2-5.i386.rpm


 
Ne sachant pas exactement comment installer une librairie, j'ai cherché des précisions sur le web et j'ai exécuté les commandes suivantes (sans trop savoir ce qu'il en retournait, je l'avoue) (en tant que root) :

ldconfig
updatedb


 
Au final, voici ce que j'ai obtenu :

# locate libgcc
/lib/libgcc_s-4.0.0-20050520.so.1
/lib/libgcc_s-3.2.2-20030225.so.1
/lib/libgcc_s.so.1
/lib/libgcc_s-so.1
/usr/lib/openoffice.org1.9.104/program/libgcc3_uno.so
/usr/lib/gcc/i386-redhat-linux/4.0.0/libgcc.a
/usr/lib/gcc/i386-redhat-linux/4.0.0/adalib/libgccprefix.a
/usr/lib/gcc/i386-redhat-linux/4.0.0/libgcc_eh.a
/usr/lib/gcc/i386-redhat-linux/4.0.0/libgcc_s.so
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc.a
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc_eh.a
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc_s.so


 
Vous remarquerez déjà la bizzarerie des 2 liens symboliques /lib/libgcc_s.so.1  :

lrwxrwxrwx  1 root root      28 sep 20 17:54 libgcc_s-so.1 -> libgcc_s-4.0.0-20050520.so.1
lrwxrwxrwx  1 root root      28 sep 20 17:55 libgcc_s.so.1 -> libgcc_s-4.0.0-20050520.so.1


 
Comme ma compilation retournait toujours :

/usr/bin/ld: ne peut trouver -lgcc


 
J'ai décidé de modifier le fichier /etc/ld.so.conf (en tant que root) :

include ld.so.conf.d/*.conf
/usr/lib/gcc-lib/i386-redhat-linux/4.0.0


 
Après avoir relancé un ptit coup de ldconfig et updatedb, je suis parvenu à compiler un peu + loin le programme (en tant que root). Le problème, c'est que je dois compiler le programme en tant qu'utilisateur. Or, lorsque je suis revenu en tant qu'utilisateur, ld ne trouvait toujours pas la librairie gcc !! J'ai essayé de redémarrer le PC... En vain, puisque ni en tant qu'utilisateur, ni en tant que root, ld ne retrouve libgcc...  :cry:  
 
J'ai dû oublier quelque chose (sûrement une des bases) mais quoi ??? Je suis un peu newbie donc.... Si un sujet traite de ce problème, n'hésitez pas à me transmettre le lien (j'ai cherché sur le forum sans succès).  Merci pour votre aide ! :jap:

mood
Publicité
Posté le 21-09-2005 à 09:07:27  profilanswer
 

n°732786
multani
Dépressionnisé
Posté le 21-09-2005 à 09:40:39  profilanswer
 

Essaie en rajoutant dans ta variable LD_LIBRARY le chemin où tu peux trouver tes librairies, un truc du genre export LD_LIBRARY=$LD_LIBRARY:/ton/path
 
Sinon, updatedb te mets à jour la liste de fichiers pour quand tu fais une recherche via locate ;) T'es pas obligé de relancer cette commande à chaque fois que tu changes tes librairies ;)

n°732788
benj63
Code ami 3DS : 3179-6056-4844
Posté le 21-09-2005 à 09:47:39  profilanswer
 

:jap: merci pour cette proposition. Je viens d'essayer après avoir fait :

# echo $LD_LIBRARY


étonnament cette commande ne me retourne rien, c'est normal ?
 

# export LD_LIBRARY=$LD_LIBRARY:/usr/lib/gcc-lib/i386-redhat-linux/4.0.0
# echo $LD_LIBRARY
:/usr/lib/gcc-lib/i386-redhat-linux/4.0.0
# make clean
# make
/usr/bin/ld: ne peut trouver -lgcc


:cry:

n°732790
multani
Dépressionnisé
Posté le 21-09-2005 à 09:53:52  profilanswer
 

Et en lancant un ldconfig après le export LD_LIBRARY ?

n°732792
benj63
Code ami 3DS : 3179-6056-4844
Posté le 21-09-2005 à 09:58:31  profilanswer
 

malheureusement ça n'a pas l'air de marcher non plus :
 

[user]# export LD_LIBRARY=/usr/lib/gcc-lib/i386-redhat-linux/4.0.0/
[user]# /sbin/ldconfig
/sbin/ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
[user]# su
[root]# export LD_LIBRARY=/usr/lib/gcc-lib/i386-redhat-linux/4.0.0/
[root]# /sbin/ldconfig
[root]# exit
[user]# make clean
[user]# make
/usr/bin/ld: ne peut trouver -lgcc


 

n°732794
multani
Dépressionnisé
Posté le 21-09-2005 à 10:03:11  profilanswer
 

Tu as toujours le path dans ton /etc/ld.so.conf ?

n°732798
benj63
Code ami 3DS : 3179-6056-4844
Posté le 21-09-2005 à 10:12:14  profilanswer
 

oui :  
 

# more /etc/ld.so.conf
 
include ld.so.conf.d/*.conf
/usr/lib/gcc-lib/i386-redhat-linux/4.0.0


 
je ne vois pas ce qui bloque...

n°732802
multani
Dépressionnisé
Posté le 21-09-2005 à 10:21:00  profilanswer
 

Hum, je sais pas alors, je passe :/
 
Ceci dit, tu peux virer le paquet rpm que t'avais installé, à mon avis, il fait plus conflits qu'autre chose là (c'est pas une histoire de version de gcc qui déconne).
 
Et dernier truc, si tu fais un lien de /lib/libgcc_s.so.1  vers /lib/libgcc.so ? (et ldconfig, toussa [:petrus75] )

n°732804
benj63
Code ami 3DS : 3179-6056-4844
Posté le 21-09-2005 à 10:49:13  profilanswer
 

Y'a aussi un autre truc bizarre :

[root]# rpm -e libgcc-3.2.2-5.i386.rpm
erreur: le paquetage libgcc-3.2.2-5.i386.rpm n'est pas installé
[root]# rpm -q -a libgcc*
[root]# exit
[user]# rpm -q -a libgcc*
libgcc-4.0.0-8
libgcc-3.2.2-5
[user]# rpm -e libgcc-3.2.2-5
erreur: can't create transaction lock on /var/lib/rpm/__db.000


root ne semble pas voir les packages libgcc (et donc je ne peux pas le supprimer). Je l'avais pourtant installé en tant que root en faisant rpm -i --force...
 

[root]# rm -f libgcc_s-so.1
[root]# ln -s /lib/libgcc_s-4.0.0-20050520.so.1 libgcc_s.so.1
[root]# ll
lrwxrwxrwx  1 root root      33 sep 21 10:38 libgcc_s.so.1 -> /lib/libgcc_s-4.0.0-20050520.so.1
[root]# ldconfig
[root]# ll
lrwxrwxrwx  1 root root      33 sep 21 10:38 libgcc_s.so.1 -> /lib/libgcc_s-4.0.0-20050520.so.1
[root]# export LD_LIBRARY=/usr/lib/gcc-lib/i386-redhat-linux/4.0.0/
[root]# ldconfig
ldconfig: File /usr/lib/gcc-lib/i386-redhat-linux/4.0.0/libgcc_s.so is empty, not checked.
ldconfig: File /lib/libgcc_s-4.0.0-20050520.so.1 is empty, not checked.
ldconfig: File /lib/libgcc_s.so.1 is empty, not checked.


 
 :ouch: Qu'est-ce qui se passe ?


Message édité par benj63 le 21-09-2005 à 13:48:58
n°732813
multani
Dépressionnisé
Posté le 21-09-2005 à 11:54:28  profilanswer
 

Et si tu fais un rpm -e libgcc-3.2.2-5, mais en root ? (ou via sudo)
 
Les fichiers qui gènent ldconfig, ils ont quoi ? (taille = 0, lien vers rien, autre ?)

mood
Publicité
Posté le 21-09-2005 à 11:54:28  profilanswer
 

n°732849
benj63
Code ami 3DS : 3179-6056-4844
Posté le 21-09-2005 à 13:54:36  profilanswer
 

Il doit y avoir un bug dans mon install du package gcc 3.2.2-5 :

# rpm -e libgcc-3.2.2-5
rpm: /lib/libgcc_s.so.1: version `GCC_3.3.1' not found (required by /usr/lib/librpmio-4.4.so)
rpm: /lib/libgcc_s.so.1: version `GCC_3.3' not found (required by /usr/lib/libstdc++.so.6)


 
Et à priori les fichiers qui embêtent ldconfig sont bien vides :

[root]# cd /lib
[root]# ll
-rwxr-xr-x  1 root root       0 sep 21 10:48 libgcc_s-4.0.0-20050520.so.1
lrwxrwxrwx  1 root root      28 sep 21 10:48 libgcc_s.so.1 -> libgcc_s-3.2.2-20030225.so.1
-rwxr-xr-x  1 root root   30324 fév 25  2003 libgcc_s-3.2.2-20030225.so.1
[root]# cd /usr/lib/gcc-lib/i386-redhat-linux/4.0.0/
[root]# ll
lrwxrwxrwx  1 root root      18 aoû 25 09:52 libgcc_s.so -> /lib/libgcc_s.so.1


 
Y'a-t'il un moyen de corriger cela ?

n°733109
benj63
Code ami 3DS : 3179-6056-4844
Posté le 22-09-2005 à 08:42:51  profilanswer
 

On m'a dit sur un autre forum que j'avais fait des bêtises en supprimant libgcc-3.2.2-5, et que ma base de RPM était à présent moitié en vrac... Auriez-vous une solution pour corriger ce problème ? :sweat:

n°733244
benj63
Code ami 3DS : 3179-6056-4844
Posté le 22-09-2005 à 15:02:00  profilanswer
 

:bounce: au moins pour la base des RPM censée être en vrac ??  :cry:


Message édité par benj63 le 23-09-2005 à 08:57:38
n°733246
multani
Dépressionnisé
Posté le 22-09-2005 à 15:04:36  profilanswer
 

Hum, si c'est toi qui a installé un nouvelle version version de libgcc, c'est pas vraiment une betise de l'avoir supprimée.
Essaie peut-être de reinstaller ton ancienne version de libgcc (celle que tu avais au début). [:spamafote]

n°733256
benj63
Code ami 3DS : 3179-6056-4844
Posté le 22-09-2005 à 15:15:18  profilanswer
 

Voilà ce qu'on m'a dit  [:petrus75] :
 

Citation :

Voici la liste de tes horreurs :
1. rpm -i --force d'un paquet provenant d'une autre distrib. Il n'y a jamais eu de libgcc-3* dans fedora core 4.
2. rajout d'un path inutile dans ld.so.conf
3. '*' non-despecialisee pour des requetes a la base rpm
4. Tentative de desinstallation d'un paquet par son nom de fichier au lieu de donner comme il se doit son nom (et eventuellement sa version-release)
5. annihilation de la coherence de la base rpm.
 
Conclusion : tu as fait n'importe quoi. Ton systeme est maintenant sans dessus dessous. Si tu as installe la libgcc avec un force, les dieux seuls savent combien de rpm --nodeps tu as du invoquer. En retirant la vieille libgcc tu as probablement effacer des fichiers et des fournitures (provides) que d'autres paquets fournissaient.
 
Met ton systeme au carre ou re-installe le, si tu n'es pas capable de faire le menage. Installe les paquets de developpement dont tu as besoin et surtout qui proviennent de ta distribution et tout se passera beaucoup mieux.


 
Par contre, il ne m'a pas aidé pour sortir de ce mauvais pas... La version que j'avais au début était libgcc 4, tu penses donc qu'il faut que la réinstalle avec un ptit rpm -i --force ..libgcc..4.rpm ?


Message édité par benj63 le 23-09-2005 à 08:57:30
n°733261
multani
Dépressionnisé
Posté le 22-09-2005 à 15:20:53  profilanswer
 

Oui, ça doit être un truc du genre. Tu dois pouvoir trouver le fichier sur ton cd, ou sur dans la base des paquets Fedora (chuis pas un connaisseur de Fedora :o )
 
Sinon, il a pas complètement tord. Après, je sais pas exactementles conséquences qu'à la modification de libgcc sur le système. Je sais pas si c'est aussi grave qu'il le dit.
 
Regarde également si tu n'a pas des options ou des outils rpm permettant de voir si ta base est en bon état, si il manque pas des paquets, etc. Hésites pas à réinstaller avec les paquets d'origines si il faut.

n°733287
benj63
Code ami 3DS : 3179-6056-4844
Posté le 22-09-2005 à 16:04:52  profilanswer
 

Bon à priori j'ai réussi à récupérer le problème : j'ai recopié le /lib/libgcc_s-4.0.0-20050520.so.1 (que j'avais corrompu) à partir d'un autre poste sous Fedora, puis j'ai modifié le lien symbolique libgcc_s.so.1 en le faisant pointer vers /lib/libgcc_s-4.0.0-20050520.so.1.
 
La commande rpm fonctionne à nouveau, et n'affiche plus ce message :

rpm: /lib/libgcc_s.so.1: version `GCC_3.3.1' not found (required by /usr/lib/librpmio-4.4.so)  
rpm: /lib/libgcc_s.so.1: version `GCC_3.3' not found (required by /usr/lib/libstdc++.so.6)


 :)  
 
Je me retrouve donc à peu près avec ce que j'avais auparavant... et j'en reviens au souci que ld ne trouve toujours pas libgcc... Si quelqu'un a d'autres solutions... En tout cas, merci multani pour tes conseils, tu es l'un des rares à m'avoir aidé... ;)


Message édité par benj63 le 23-09-2005 à 08:57:17
n°733292
multani
Dépressionnisé
Posté le 22-09-2005 à 16:17:55  profilanswer
 

Si c'est pas indiscret, c'est quoi que tu essaies de compiler et qui a besoin de libgcc ?

n°733294
benj63
Code ami 3DS : 3179-6056-4844
Posté le 22-09-2005 à 16:29:55  profilanswer
 

c'est un module qui fait partie d'un gros programme de simulation... qui fonctionnait parfaitement sous RedHat 9... Ptetre en installant les RPM de type devel, cela corrigerait le problème ?


Message édité par benj63 le 23-09-2005 à 08:56:56
n°733312
multani
Dépressionnisé
Posté le 22-09-2005 à 17:33:03  profilanswer
 

Essaie [:spamafote] (ça craint rien ça [:dawa] )

n°733535
benj63
Code ami 3DS : 3179-6056-4844
Posté le 23-09-2005 à 08:55:54  profilanswer
 

pour installer les paquets devel, si je fais un ptit

yum install devel*


ça marchera ou non ? :ange:


Message édité par benj63 le 23-09-2005 à 08:56:23
n°733558
multani
Dépressionnisé
Posté le 23-09-2005 à 09:38:29  profilanswer
 

[:ciler]
 
Installes que ceux dont tu auras besoin :o

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  [Fedora 4] Problèmes avec l'éditeur de lien et ld.so.conf

 

Sujets relatifs
Parametrer Grub sous Fedora 4 ?Editeur PHP/HTML like DREAMWEAVER sous Linux (Ubuntu)
Instalation des kernel souces fedora core 4Fedora Core 3 Problème Carte Son "High Definition Audio Controller"
PB installation Fedora DVDInstaller un logiciel sous Fedora core
[Fedora 4] Connexion en SSH sans mot de passe impossible ! [résolu]Conf de RED sur ipcop 1.4.x
[ FEDORA ] acces à internet tès lentInstallation de Fedora 4 impossible sur congif détaillée
Plus de sujets relatifs à : [Fedora 4] Problèmes avec l'éditeur de lien et ld.so.conf


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR