Forum Linux.général mon programme n'arrive pas a trouver la lib

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
8
mai
2019

Bonjour,

voila j'ai téléchargé un programme nommé sokoban venant du site openClassroom. Lorsque je lance le programme, le linker me dit: "./sokoban: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory"

pourtant j'ai bien installé la libSDL-1.2.so.

j'ai fait un ldd sokoban et j'ai :
linux-gate.so.1 (0xf7fb9000)
libSDL-1.2.so.0 => not found
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7f68000)
libSDL_image-1.2.so.0 => not found
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7d8c000)
/lib/ld-linux.so.2 (0xf7fbb000)

donc effectivement il ne trouve pas libSDL-1.2.so.0 et libSDL_image-1.2.so.0.
pourtant dans le répertoire /usr/lib/x86_64-linux-gnu j'ai bien les 2 liens symboliques ci dessus (qui pointent bien sur les libs).

Dans /etc/ld.so.conf.d/ j'ai bien dans x86_64-linux-gnu.conf :
/usr/lib/x86_64-linux-gnu

donc le noyau devrait trouver les .so

Et j'ai regardé dans /etc/ld.so.cache et il y a bien les libs libSDL-1.2.so.0 et libSDL_image-1.2.so.0 présentent dans le cache

Je ne sais plus du tout quoi faire.
Avez vous une idée?
merci d'avance

  • # Problème d’architecture

    Posté par  (site web personnel) . Évalué à 5.

    Ton programme est un binaire 32-bit, il te faut donc des versions 32-bit des bibliothèques dont il dépend.

    • [^] # Re: Problème d’architecture

      Posté par  (site web personnel) . Évalué à 3.

      Le simple pour toi sera de compiler le programme (si tu as les sources) plutôt que d'essayer de le faire marcher avec des librairies 32 bits.

      • [^] # Re: Problème d’architecture

        Posté par  . Évalué à 4.

        Recompiler, ça l'obligera certainement à installer tout une tripotée de paquets de développement avant de lancer la compilation. C'est un bon exercice s'il n'a jamais compilé de programme mais c'est pas nécessairement la voie la plus simple.

        Le système a déjà des libs 32 installées donc le plus simple c'est peut-être d'installer les quelques dépendances manquantes si elles n'entrainent pas tout une série de dépendances en cascade. Mais bon, même dans le cas d'une grosse install, c'est toujours utile en cas d'installation future de binaires 32bits (souvent le cas avec des logiciels propiétaires) et c'est plus facile à virer avec un bon gestionnaire de paquets.

        • [^] # Re: Problème d’architecture

          Posté par  . Évalué à 3.

          • sur Debian, on parle généralement de multi-arch pour gérer la problématique des librairies 32/64 bits. Bonne lecture.
          • par ailleurs, l'écosystème Docker se prête assez bien à gérer cette problématique 32/64 bits. Le seul soucis, c'est qu'il faut faire certaines acrobaties pour gérer des affichages X11.
  • # Utiliser ton gestionnaire de paquet ?

    Posté par  . Évalué à 2.

    Sur debian, sokoban est dans le paquet : games-puzzle

    $ apt install games-puzzle
    …
    $

    Je ne l’ai pas trouvé pour fedora.

    • [^] # Re: Utiliser ton gestionnaire de paquet ?

      Posté par  . Évalué à 4.

      Vu qu'il a téléchargé le programme sur OpenClassroom, je doute que son intérêt soit de jouer à Sokoban, mais plutôt de suivre un cours. Et qu'il aimerait faire fonctionner le programme de celui-ci.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.