Manque de librairies

Fermé
Zab - 11 févr. 2012 à 13:24
mamiemando Messages postés 33334 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 novembre 2024 - 11 févr. 2012 à 20:03
Bonjour,
Je suis actuellement sous ubuntu, la dernière version (11.10 il me semble) et j'ai un programme codé en c. Comme il ne fonctionne pas, je me demandais s'il manquait une librairie, j'exécute donc la commande
ldd
linux-gate.so.1 =>  (0x008d4000)
	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x00f1f000)
	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x0016f000)
	/lib/ld-linux.so.2 (0x006a7000)

Alors, il me semble avoir vu sur différents forums que la librairie linux-gate.so.1 n'est pas importante, mais quant aux autres, je n'ai pas réussi à comprendre si c'était des librairies importantes et comment résoudre le problème.
Merci de votre aide.

Zab


1 réponse

mamiemando Messages postés 33334 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 novembre 2024 7 801
11 févr. 2012 à 20:03
Je te déconseille de virer des librairies si tu n'es pas sûr de ce que tu fais.

Normalement apt désinstalle les paquets que tu n'as pas explicitement installé et qui ne sont plus de dépendances des paquets que tu as explicitement installé (ou du moins, des commandes comme apt-get autoremove ou des outils comme deborphan permettent de faire le ménage). A priori tu n'es donc pas sensé te poser ce genre de questions, un outil peut le faire pour toi ;-)
http://doc.ubuntu-fr.org/deborphan

Ici, il faut installer les librairies manquantes, et tu peux retrouver quel(s) paquet(s) les fournit(ssent) avec apt-file :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apt-file
sudo apt-file update
apt-file search /lib/ld-linux.so
apt-file search /lib/linux-gate.so


Il suffit ensuite d'installer les paquets ainsi trouvés. Chez moi par exemple je trouve :

(mando@aldur) (~) $ apt-file search /lib/ld-linux.so
libc6-i386: /lib/ld-linux.so.2
(mando@aldur) (~) $ apt-file search /lib/linux-gate.so
(mando@aldur) (~) $


C'est sans doute différent chez toi car j'utilise une debian 64 bits et toi une ubuntu 32 bits, mais dans cet exemple, on voit que je devrais installer le paquet libc6-i386 (via sudo apt-get install). Par contre on voit que chez moi la libraire linux-gate n'est pas disponible. Si je devais faire marcher ton programme, j'essaierai de recompiler le programme pour voir s'il est toujours linké avec libgate...

Bonne chance
0