#1 Le 29/03/2006, à 14:17
- LR
a copy of glibc was found in an unexpected directory
Salut,
J'ai un paquet cassé :
libc6-dev.
Version installé : 2.3.5-1ubuntu12.5.10.1.
Dernière version : 2.3.5-1ubuntu12.5.10.1
Lorsque je le sélectionne pour réinstallation, je reçois le message d'erreur :
a copy of glibc was found in an unexpected directory
Comment est-ce que je peux régler ce problème ?
Merci d'avance
Lilian
Hors ligne
#2 Le 31/03/2006, à 15:10
- LR
Re : a copy of glibc was found in an unexpected directory
Personne n'a d'idée pour ce problème ?
Hors ligne
#3 Le 01/04/2006, à 00:00
- YBM
Re : a copy of glibc was found in an unexpected directory
locate libc-2
cat /etc/ld.so.conf
Hors ligne
#4 Le 02/04/2006, à 13:11
- LR
Re : a copy of glibc was found in an unexpected directory
lilian@lilian:~$ locate libc-2
/lib/libc-2.3.5.so
/lib32/tls/libc-2.3.5.so
/lib32/libc-2.3.5.so
/chroot/lib/tls/i686/cmov/libc-2.3.5.so
/chroot/lib/tls/libc-2.3.5.so
/chroot/lib/libc-2.3.5.so
lilian@lilian:~$ cat /etc/ld.so.conf
/lib32
/usr/lib32
/usr/X11R6/lib32
/usr/lib
Hors ligne
#5 Le 02/04/2006, à 21:57
- YBM
Re : a copy of glibc was found in an unexpected directory
dpkg -S libc-2
Hors ligne
#6 Le 03/04/2006, à 00:03
- LR
Re : a copy of glibc was found in an unexpected directory
je n'ai plus de paquet cassé dans synaptic mais la mise à jour ne se fait toujours pas, même message d'erreur...
Hors ligne
#7 Le 03/04/2006, à 11:00
- YBM
Re : a copy of glibc was found in an unexpected directory
que donne un dpkg -S libc-2 ? un "ldd /bin/cp" ?
Voici ce qui se passe peut être : la mise à jour de la libc est assez délicate, puisqu'il faut remplacer un fichier qui est utilisé en permanence par les outils qui font ce remplacement... Essaye de changer un pied de ta chaise en restant assis dessus !
Les scripts d'installation de la bibliothèque C sont donc assez spéciaux, et particulièrement susceptibles : s'il trouvent une situation qu'il ne comprennent pas, ils laissent tomber.
Tu as sans doute modifié ton ld.so.conf (ajouter les ligne en .../lib32 ?), il faudrait commenter les lignes que tu y as ajoutées, faire un "sudo ldconfig", mettre à jour le paquet libc... et éventuellement décommenter les lignes de ld.so.conf, puis encore un "sudo ldconfig".
Hors ligne
#8 Le 04/04/2006, à 07:54
- LR
Re : a copy of glibc was found in an unexpected directory
que donne un dpkg -S libc-2 ? un "ldd /bin/cp" ?
lilian@lilian:~$ sudo dpkg -S libc-2
Password:
libc6: /lib/libc-2.3.5.so
ia32-libs: /lib32/tls/libc-2.3.5.so
ia32-libs: /lib32/libc-2.3.5.so
lilian@lilian:~$ sudo ldd /bin/cp
libacl.so.1 => /lib/libacl.so.1 (0x00002aaaaabc2000)
libc.so.6 => /lib/libc.so.6 (0x00002aaaaacc9000)
libattr.so.1 => /lib/libattr.so.1 (0x00002aaaaaf00000)
/lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
Voici ce qui se passe peut être : la mise à jour de la libc est assez délicate, puisqu'il faut remplacer un fichier qui est utilisé en permanence par les outils qui font ce remplacement... Essaye de changer un pied de ta chaise en restant assis dessus !
Les scripts d'installation de la bibliothèque C sont donc assez spéciaux, et particulièrement susceptibles : s'il trouvent une situation qu'il ne comprennent pas, ils laissent tomber.
OK, merci pour l'explication, j'imagine que c'est le genre de choses qui doit arriver...
Tu as sans doute modifié ton ld.so.conf (ajouter les ligne en .../lib32 ?), il faudrait commenter les lignes que tu y as ajoutées, faire un "sudo ldconfig", mettre à jour le paquet libc... et éventuellement décommenter les lignes de ld.so.conf, puis encore un "sudo ldconfig".
Je ne me rappelle pas du tout avoir modifié ce fichier. Son contenu est listé ci-dessus, peut-être que qqun pourrait comparer avec le sien et me dire ce qu'il y a en trop...
Merci pour ton aide
Lilian
Hors ligne
#9 Le 04/04/2006, à 10:02
- YBM
Re : a copy of glibc was found in an unexpected directory
c'est sans doute l'installation du paquet ia32-libs qui a modifié ce fichier.
Comme tes outils de base (cp par exemple) utilisent la libc en version 64 bits, je pense que tu peux suivre ma suggestion sans trop de risque...
Maintenant je peux me tromper... et un système qui n'a plus de libc fonctionnelle pour ses outils de base ne démarre même pas et est très difficile à réparer. Dans le doute installe avant de bricoler le paquetage "bash-static" qui installe dans /bin/bash-static un shell bash compilé statiquement (ie avec la libc à l'intérieur) et binutils-static.
Hors ligne
#10 Le 04/04/2006, à 17:41
- LR
Re : a copy of glibc was found in an unexpected directory
Tu penses que je devrais modifier /etc/ld.so.conf et supprimer (ou commenter) toutes les lignes qui contiennent "32" ?
Hors ligne
#11 Le 04/04/2006, à 18:53
- YBM
Re : a copy of glibc was found in an unexpected directory
commenter /lib32 + ldconfig + mise à jour + décommenter + ldconfig
Hors ligne
#12 Le 05/04/2006, à 08:25
- LR
Re : a copy of glibc was found in an unexpected directory
lilian@lilian:~$ sudo gedit /etc/ld.so.conf
Password:
lilian@lilian:~$ sudo ldconfig
lilian@lilian:~$ cat /etc/ld.so.conf
/lib32
#/usr/lib32
/usr/X11R6/lib32
/usr/lib
Ensuite, quand je fais la mise à jour :
Préconfiguration des paquets...
Préparation du remplacement de libc6 2.3.5-1ubuntu12 (en utilisant .../libc6_2.3.5-1ubuntu12.5.10.1_amd64.deb)...
These libraries were found in /usr/lib:
libdl.so.2
A copy of glibc was found in an unexpected directory.
It is not safe to upgrade the C library in this situation;
please reamove that copy of the C library and try again.
dpkg : erreur de traitemetn de /var/cache/apt/archives/libc6_2.3.5-1ubuntu12.5.10.1_amd64.deb (--unpack) :
le sous-processus pre-installation script a retourné une erreur de sortie d'état 1
...
Hors ligne
#13 Le 05/04/2006, à 11:53
- YBM
Re : a copy of glibc was found in an unexpected directory
/lib32
#/usr/lib32
/usr/X11R6/lib32
/usr/lib
c'est surtout /lib32 (la première ligne qu'il faut commenter !)
Hors ligne
#14 Le 05/04/2006, à 13:05
- LR
Re : a copy of glibc was found in an unexpected directory
Désolé, j'ai été distrait...
J'ai essayé en commentant "/lib32", "/usr/lib32", "/usr/X11R6/lib32" mais ça n'a rien changé.
J'ai fait ça :
$ sudo gedit /etc/ld.so.conf
$ cat /etc/ld.so.conf
#/lib32
#/usr/lib32
#/usr/X11R6/lib32
/usr/lib
$ sudo mv /usr/lib/libdl.so.2 /usr/lib/libdl.so.2BAK
$ ls -l /usr/lib/libdl.so.2BAK
lrwxrwxrwx 1 root root 10 2006-01-15 00:28 /usr/lib/libdl.so.2BAK -> libds.so.2
$ sudo mv /usr/lib/libds.so.2 /usr/lib/libds.so.2BAK
$ sudo mv /usr/lib/libdl.so.2BAK /home/lilian/Desktop/
Et j'ai pu faire la mise à jour. Est-ce qu'il faut que je remette les choses en état ?
Hors ligne
#15 Le 05/04/2006, à 16:49
- YBM
Re : a copy of glibc was found in an unexpected directory
déjà faudrait voir d'où sort ce libds.so.2 :
dpkg -S libds.so.2
sur mes systèmes en 32 bits je n'ai pas ce fichier...
Hors ligne
#16 Le 05/04/2006, à 18:15
- LR
Re : a copy of glibc was found in an unexpected directory
lilian@lilian:~$ sudo dpkg -S libds.so.2
Password:
dpkg : *libds.so.2* introuvable.
Hors ligne
#17 Le 05/04/2006, à 18:30
- YBM
Re : a copy of glibc was found in an unexpected directory
j'vais mal lu, c'est dpkg -S libdl.so.2, sur un système 32 bits on a :
$ dpkg -S libdl.so.2
libc6: /lib/libdl.so.2
libc6: /lib/tls/libdl.so.2
c'est très très bizarre qu'il y ait une copie du linker dynamique dans /usr/lib
Hors ligne
#18 Le 05/04/2006, à 19:03
- LR
Re : a copy of glibc was found in an unexpected directory
Chez moi ça donne ça :
lilian@lilian:~$ sudo dpkg -S libdl.so.2
Password:
libc6: /lib/libdl.so.2
ia32-libs: /lib32/tls/libdl.so.2
ia32-libs: /lib32/libdl.so.2
Merci pour ton aide
Hors ligne
#19 Le 05/04/2006, à 19:56
- YBM
Re : a copy of glibc was found in an unexpected directory
c'est pas normal du tout qu'il y ait un fichier /usr/lib/libdl.so.2 sans que dpkg soit au courant ! Tu aurais pas installé une bibliothèque un peu sauvagement à coup de make ; make install ??
En tout cas si tout fonctionne, laisse comme ça, tu peux décommenter sans problème les lignes "...lib32" de ld.so.conf (+ sudo ldconfig après) et renomme plutôt la bibliothèque douteuse de la façon suivante :
mv /usr/lib/libdl.so.2BAK /usr/lib/bak.libdl.so.2
(si une dll commence par par "lib" on est sûr que le linkeur dynamique ne la prendra pas en compte)
Hors ligne
#20 Le 05/04/2006, à 20:09
- LR
Re : a copy of glibc was found in an unexpected directory
d'accord. Je n'ai pas encore redémarré, mais j'espère que tout sera OK.
Mon installation d'ubuntu date du mois de juin, alors depuis, c'est bien possible que j'ai installé (ou tenté d'installer) quelques programmes avec "make install". Mais je ne sais pas lequel est responsable du problème...
Hors ligne
#21 Le 06/04/2006, à 18:09
- LR
Re : a copy of glibc was found in an unexpected directory
Problème... Openoffice n'a plus fonctionné. Même après réinstallation, j'ai du décommenter dans /etc/ld.so.conf et faire "ldconfig".
Maintenant, openoffice marche à nouveau mais j'ai bien peur que mes ennuis ne soient pas terminés...
Hors ligne
#22 Le 06/04/2006, à 21:08
- YBM
Re : a copy of glibc was found in an unexpected directory
Ton openoffice est une version 32 bits ??
Je ne pense pas qu'il y ait de problèmes, c'est juste un léger bug de la procédure d'installation de libc6 dans un environnement mixte 32/64 bits.
Hors ligne
#23 Le 06/04/2006, à 21:14
- LR
Re : a copy of glibc was found in an unexpected directory
Je ne crois pas être dans un environnement mixte... Je suis sur un AMD64 et dans synaptic, je ne trouve pas toujours tous les logiciels car certains ne sont pas dispo en 64bits. Mais openoffice2 est disponible.
Hors ligne
#24 Le 07/04/2006, à 00:37
- YBM
Re : a copy of glibc was found in an unexpected directory
que montre :
apt-cache rdepends ia32-libs
Hors ligne
#25 Le 07/04/2006, à 08:41
- LR
Re : a copy of glibc was found in an unexpected directory
lilian@lilian:~$ apt-cache rdepends ia32-libs
ia32-libs
Reverse Depends:
fglrx-control
xorg-driver-fglrx
xorg-driver-fglrx
xorg-driver-fglrx
lsb-core
lib32z1
lib32z1
ia32-libs-openoffice.org
ia32-libs-kde
ia32-libs-gtk
ia32-libs-dev
Hors ligne