logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 12-07-2021 11:19:58

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

[Résolu] Librairie introuvable alors qu'elle est bien présente

Bonjour,

Quand je lance un prog écrit en Pascal (FPC-Lazarus 32 bits) il y a 8 ans et ayant toujours bien fonctionné dans la vieille machine, une fois son code recompilé sans erreur dans la machine 64 bits, je gagne au lancement

$ ./jpgviewer
./jpgviewer: error while loading shared libraries: libgdk_pixbuf-2.0.so.0: cannot open shared object file: No such file or directory

Cette erreur m'étonne puisque

$ ls -AlGg libgdk_pixbuf-2*
lrwxrwxrwx 1     22 mars   4  2019 libgdk_pixbuf-2.0.so -> libgdk_pixbuf-2.0.so.0
lrwxrwxrwx 1     29 mars   4  2019 libgdk_pixbuf-2.0.so.0 -> libgdk_pixbuf-2.0.so.0.3800.1
-rw-r--r-- 1 149424 mars   4  2019 libgdk_pixbuf-2.0.so.0.3800.1


Une idée du pourquoi du comment ?
Où le chargeur va-t-il chercher les librairies ?
Quel outil me permettrait de connaître les librairies utilisées par un binaire ?

Les observateurs remarqueront que la librairie n'étant pas exécutable, j'ai tenté un chmod +x nom_de_la_librairie mais ça n'a rien changé.

Merci pour les retours,

Dernière modification par jpt (13-07-2021 09:27:46)


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#2 12-07-2021 11:34:10

cyrille
CA Debian-Facile
Lieu : Nowhere
Distrib. : SID + FreeBSD. Stable sur serveurs.
(G)UI : Xfce/Openbox
Inscription : 21-06-2020
Site Web

Re : [Résolu] Librairie introuvable alors qu'elle est bien présente

Bjr,
Il me semble que ldd fait cela

ldd /usr/bin/nano
  linux-vdso.so.1 (0x00007ffcf77e8000)
  libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 (0x00007f23af8e0000)
  libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f23af8b1000)
  libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f23af6ec000)
  libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f23af6e6000)
  /lib64/ld-linux-x86-64.so.2 (0x00007f23af991000)





man ldd



pour plus dinformations


Les observateurs remarqueront que la librairie n'étant pas exécutable, j'ai tenté un chmod +x nom_de_la_librairie mais ça n'a rien changé.


Les lib ne sont pas executables, les lines symboliques portent eux seuls le x

Dernière modification par cyrille (12-07-2021 12:02:26)


"Ils ne me comprennent point, je ne suis pas la bouche qu’il faut à ces oreilles."

Association Debian-Facile | Les cahiers du débutant | ISO Debian-FacilePage perso. sur #df

Hors ligne

#3 12-07-2021 12:21:18

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : [Résolu] Librairie introuvable alors qu'elle est bien présente

cyrille a écrit :

Il me semble que ldd fait cela

Bien vu ! yes.gif

Et merci pour cette info, perdue quelque part au fond de ma mémoire…

En l'utilisant, je me rends compte que la machine n'est pas au top pour faire tourner un binaire FreePascal :

$ ldd jpgviewer
  linux-gate.so.1 (0xf7f69000)
  libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7f27000)
  libX11.so.6 => /lib/i386-linux-gnu/libX11.so.6 (0xf7dd9000)
  libgdk_pixbuf-2.0.so.0 => not found
  libgtk-x11-2.0.so.0 => not found
  libgdk-x11-2.0.so.0 => not found
  libgobject-2.0.so.0 => not found
  libglib-2.0.so.0 => not found
  libgthread-2.0.so.0 => not found
  libgmodule-2.0.so.0 => not found
  libpango-1.0.so.0 => not found
  libcairo.so.2 => not found
  libatk-1.0.so.0 => not found
  libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7dd1000)
  libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7bf3000)
  /lib/ld-linux.so.2 (0xf7f6a000)
  libxcb.so.1 => /lib/i386-linux-gnu/libxcb.so.1 (0xf7bc5000)
  libXau.so.6 => /lib/i386-linux-gnu/libXau.so.6 (0xf7bc0000)
  libXdmcp.so.6 => /lib/i386-linux-gnu/libXdmcp.so.6 (0xf7bb9000)
  libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf7b9a000)
  librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7b8f000)
 

S'il n'y avait que ça… Car le plus dément, le plus mystérieux, c'est ça :

$ file jpgviewer
jpgviewer: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, stripped
 

Car j'ai bien dit que j'avais recompilé le code, mais donc en fait ce n'est pas vrai : le binaire est le même que celui daté de 2019. scratchhead.gif

Bon, je lirai la suite avec plaisir mais en fin de journée, c't'aprème toubib + courses pour remplir le frigo, ben ouais, faut bien, des fois tongue


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#4 12-07-2021 19:16:21

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Librairie introuvable alors qu'elle est bien présente

Si tu compiles un exécutable 32 bits, alors il a besoin des bibliothèques 32 bits. On voit que certaines sont installées mais pas toutes.

Dernière modification par raleur (12-07-2021 19:17:08)


Il vaut mieux montrer que raconter.

Hors ligne

#5 12-07-2021 20:15:25

Debian Alain
Membre
Lieu : Bretagne
Distrib. : sid (unstable) / bullseye (stable)
Noyau : Linux sid 6.4.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : [Résolu] Librairie introuvable alors qu'elle est bien présente

bonsoir jpt   big_smile  big_smile  big_smile

je sais pas si je vais pouvoir t'aider , mais , peux tu fournir les sources de ton prog. en pascal lazarus ?

merci .

p.s.: sauf à moins qu'il y ait des droits , bien sûr ...

amicalement ,

alain .

coyotus.png

Dernière modification par Debian Alain (12-07-2021 20:39:09)

Hors ligne

#6 13-07-2021 09:26:45

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : [Résolu] Librairie introuvable alors qu'elle est bien présente

Bonjour,

raleur a écrit :

Si tu compiles un exécutable 32 bits, alors il a besoin des bibliothèques 32 bits.

Certes, mais comme je l'ai écrit, je l'ai compilé, en mode natif de la nouvelle machine, donc 64 bits.

Enfin, c'est ce que je croyais, d'autant plus que j'ai eu le message habituel avec la ligne en vert indiquant que ça s'est bien passé.
Sauf que, vérifications faites, ça ne s'est pas passé (pourquoi le vert, alors ? Mystère)

Ce qu'il m'a fallu faire, c'est une reconstruction totale (Maj F9 au lieu de Ctrl F9 pour ceux qui connaissent) et là c'est bon.

J'en prends bonne note pour les autres programmes que j'ai à migrer (finirai bien par la mettre en prod', c'te babasse, big_smile).

Debian Alain a écrit :

peux-tu fournir les sources de ton prog. en pascal lazarus ?

Je peux les fournir mais ça n'a strictement aucun intérêt, ça concerne plutôt les options de compilation gérées par FPC.

Et de toute façon, c'est [Résolu] yes.gif


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#7 13-07-2021 12:47:35

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Librairie introuvable alors qu'elle est bien présente

jpt a écrit :

Ce qu'il m'a fallu faire, c'est une reconstruction totale


Comment as-tu transféré le projet sur la nouvelle machine ? Seulement les fichiers sources ou aussi les fichiers objet qui avaient été construits sur l'ancienne machines ? Dans le second cas le compilateur a pu considérer que le projet était à jour parce qu'aucun fichier source n'était plus récent que les fichiers objets.


Il vaut mieux montrer que raconter.

Hors ligne

#8 13-07-2021 13:42:09

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : [Résolu] Librairie introuvable alors qu'elle est bien présente

Ah oui, j'avais tout pris, ça doit être ça la blague.
Mais bon, tout est bien qui finit bien, smile

AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

Pied de page des forums