Forum Linux.debian/ubuntu Échec au démarrage de windowmaker 0.96 (libwraster)

Posté par  . Licence CC By‑SA.
Étiquettes :
2
21
août
2023

Bonsoir,

(debian 11.7)

en lisant un lien posté récemment j'ai eu envie de réinstallé windowmaker que j’utilisais dans le temps sur un ancien ordi…

Sauf qu'il ne démarre pas et la seule trace que j'ai été capable de trouver est dans .xsession-errors :

/usr/lib/WindowMaker/wmaker: /usr/local/lib/libwraster.so.6: version `LIBWRASTER6' not found (required by /usr/lib/WindowMaker/wmaker)
pourtant le paquet libwraster6 est bien installé.

Une bonne âme pourrait-elle me guider vers la solution au problème ?

Merci

  • # Etrange

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

    C'est bizarre que le binaire pointe vers /usr/local pour la recherche de la librairie. À ta place, je tenterai ldconfig et si ça ne marche pas, apt upgrade.
    Tu peux aussi vérifier que ce n'est pas un problème de version de lib : ldd /usr/local/lib/libwraster.so.6.

    • [^] # Re: Etrange

      Posté par  . Évalué à 2. Dernière modification le 21 août 2023 à 09:02.

      Merci de ta réponse,

      à priori, la lib est bien là :

      ~$ ls -l /usr/local/lib/libwr*
      -rw-r--r-- 1 root root 679414 21 août 00:07 /usr/local/lib/libwraster.a
      -rwxr-xr-x 1 root root 1019 21 août 00:07 /usr/local/lib/libwraster.la
      lrwxrwxrwx 1 root root 19 21 août 00:07 /usr/local/lib/libwraster.so -> libwraster.so.6.1.0
      lrwxrwxrwx 1 root root 19 21 août 00:07 /usr/local/lib/libwraster.so.6 -> libwraster.so.6.1.0
      -rwxr-xr-x 1 root root 417312 21 août 00:07 /usr/local/lib/libwraster.so.6.1.0

      et lors de l'installation, il y a bien un ldconfig dans la série ./configure make make install ldconfig

      et voilà la sortie de

      ldd /usr/local/lib/libwraster.so.6
      :

      linux-vdso.so.1 (0x00007ffc1d5d4000)
      libXpm.so.4 => /lib/x86_64-linux-gnu/libXpm.so.4 (0x00007f553581a000)
      libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f55357e0000)
      libjpeg.so.62 => /lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007f553575c000)
      libtiff.so.5 => /lib/x86_64-linux-gnu/libtiff.so.5 (0x00007f55356d6000)
      libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f5535593000)
      libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007f553557e000)
      libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5535438000)
      libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5535264000)
      libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5535247000)
      libwebp.so.6 => /lib/x86_64-linux-gnu/libwebp.so.6 (0x00007f55351de000)
      libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f5535103000)
      liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f55350db000)
      libjbig.so.0 => /lib/x86_64-linux-gnu/libjbig.so.0 (0x00007f5534ecb000)
      libdeflate.so.0 => /lib/x86_64-linux-gnu/libdeflate.so.0 (0x00007f5534eaf000)
      libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f5534e84000)
      libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5534e7e000)
      /lib64/ld-linux-x86-64.so.2 (0x00007f5535875000)
      libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5534e5c000)
      libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f5534e55000)
      libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f5534c4f000)
      libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f5534c38000)
      libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007f5534c2b000)
      C'est, comme ça, assez incompréhensible pour moi ;-)

      Je vais essayer l'upgrade…

      • [^] # Re: Etrange

        Posté par  . Évalué à 2. Dernière modification le 21 août 2023 à 09:06.

        Le système semblait propre et à jour :

        # apt upgrade
        Lecture des listes de paquets... Fait
        Construction de l'arbre des dépendances... Fait
        Lecture des informations d'état... Fait
        Calcul de la mise à jour... Fait
        0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

      • [^] # Re: Etrange

        Posté par  . Évalué à 4. Dernière modification le 21 août 2023 à 11:13.

        L'upgrade ne changera rien si tu as compilé window maker par tes propres moyens.

        il faudrait faire un ldd sur le binaire window maker, ppour savoir ou il va chercher la lib.

        Si il ne la trouve pas, tu fais un export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib et tu relances ldd sur le binaire. Si ça fonctionne c'est que la configuration du linker dynamique n'inclut pas le chemin d'installation de ta lib, et qu'il faut le parametrer (dans /etc/ld.so.conf et/ou /etc/ld.so.conf.d, man ldconfig)

        Ca me rappelle de souvenirs de compilation sous slackware … ou quand je travaillais à la R&D EDF sur la compilation des logiciels libres pour les systèmes proprios (Solaris, HP-UX, SGI Irix, IBM AIX …).

      • [^] # Re: Etrange

        Posté par  . Évalué à 3.

        Je viens de voir un truc dans la man page de ldconfig :

        Note that ldconfig will only look at files that are named lib*.so* (for
        regular shared objects) or ld-.so (for the dynamic loader itself).
        Other files will be ignored. Also, ldconfig expects a certain pattern
        to how the symlinks are set up, like this example, where the middle
        file (libfoo.so.1 here) is the SONAME for the library:

              libfoo.so -> libfoo.so.1 -> libfoo.so.1.12
        

        Or, quand je regarde le contenu de /usr/local/lib:

        lrwxrwxrwx 1 root root 19 21 août 00:07 /usr/local/lib/libwraster.so -> libwraster.so.6.1.0
        lrwxrwxrwx 1 root root 19 21 août 00:07 /usr/local/lib/libwraster.so.6 -> libwraster.so.6.1.0
        -rwxr-xr-x 1 root root 417312 21 août 00:07 /usr/local/lib/libwraster.so.6.1.0

        sauf si mes yeux me trompent tu devrais plutot avoir :

        /usr/local/lib/libwraster.so => /usr/local/lib/libwraster.so.6

        et

        /usr/local/lib/libwraster.so.6 => libwraster.so.6.1.0

        En essayant de construire les liens comme demandé par ldconfig, peut-être que ça marchera mieux ?

        • [^] # Re: Etrange

          Posté par  . Évalué à 3.

          Je suis vraiment curieux de savoir si c'est bien ça le problème. Ca confirme un problème au niveau de ldconfig qui n'arrive pas à localiser la lib, non pas parce qu'il est mal configuré, mais parce qu'il attend un pattern au niveau des liens qui ne serait pas respecté.

          Utiliser LD_LIBRARY_PATH aurait permis je pense de trouver la lib en question et de lancer le binaire, mais je pense que c'est plus propre d'utiliser les liens comme attendu par ldconfig (pas de paramétrage de variables d'environnement dans les scripts de lancement).

          • [^] # Re: Etrange

            Posté par  . Évalué à 2.

            Bonsoir,

            j'ai tripoté les liens symboliques et j'ai à présent ceci :

            lrwxrwxrwx 1 root root      15 21 août  22:19 libwraster.so -> libwraster.so.6
            lrwxrwxrwx 1 root root      19 21 août  22:18 libwraster.so.6 -> libwraster.so.6.1.0
            -rwxr-xr-x 1 root root  417312 21 août  00:07 libwraster.so.6.1.0
            

            mais rien n'y fait : toujours pas de lancement de windomaker et j'ai toujours la même erreur dans le .xsession-errors

            /usr/lib/WindowMaker/wmaker: /usr/local/lib/libwraster.so.6: version `LIBWRASTER6' not found (required by /usr/lib/WindowMaker/wmaker)
            

            :(

            • [^] # Re: Etrange

              Posté par  . Évalué à 2.

              J'ai réussi à reproduire le problème :

              
              totof@superbipbip:/usr/local/bin$ wmaker
              wmaker: error while loading shared libraries: libWINGs.so.3: cannot open shared object file: No such file or directory
              
              

              Je regarde ce qui se passe (mais j'ai ma petite idée).

              • [^] # Re: Etrange

                Posté par  . Évalué à 3.

                J'ai exécuté un ldconfig pour rafraichir le cache du chargeur dynamique, et à priori ça fonctionne. JHe n'ai plus de lib not found.

                Merci au posteur initial pour cette demande, ça m'a redonné envie de faire certaines choses.

  • # Problème de préfixe

    Posté par  (Mastodon) . Évalué à 2.

    Je pense que tu n'as pas configuré WindowMaker correctement.

    Il est possible de passer un argument --prefix=/quelquechose au moment où on exécute ./configure dans le dépôt.
    Je viens d'essayer et par défaut il prend le préfixe /usr/local, ce qui est affiché à la fin du script de configuration :

    Window Maker was configured as follows:
    
    Installation path prefix            : /usr/local
    Installation path for binaries      : /usr/local/bin
    Installation path for libraries     : /usr/local/lib
    Installation path for WPrefs.app    : /usr/local
    

    En changeant l'exécution avec ./configuration --prefix=/usr, j'obtiens :

    Window Maker was configured as follows:
    
    Installation path prefix            : /usr
    Installation path for binaries      : /usr/bin
    Installation path for libraries     : /usr/lib
    Installation path for WPrefs.app    : /usr
    

    Je pense que ce serait plus approprié.

    Tu peux trouver plus d'infos en exécutant ./autogen.sh, et en regardant dans le fichier INSTALL-WMAKER qui est généré à ce moment là. Il liste les différentes options utilisables.

    Il est à priori possible de laisser le préfixe par défaut (si tu ne veux pas mélanger ton installation avec le reste) mais d'aller chercher les librairies ailleurs avec les options --with-libs-from="-L/usr/lib" et --with-incs-from="-I/usr/include -I/usr/include/tiff" par exemple.

    • [^] # Re: Problème de préfixe

      Posté par  . Évalué à 3.

      Il est à priori possible de laisser le préfixe par défaut (si tu ne veux pas mélanger ton installation avec le reste) mais d'aller chercher les librairies ailleurs avec les options --with-libs-from="-L/usr/lib" et --with-incs-from="-I/usr/include -I/usr/include/tiff" par exemple.

      Sauf erreur de ma part, il me semble que l'option -L (ou with_lib) est une option utilisée à la compilation (corrigez-moi si je me trompe), tandis que le problème mentionné se trouve à l'exécution.

  • # A propos de 'LIBWRASTER6 not found'

    Posté par  . Évalué à 2. Dernière modification le 21 août 2023 à 13:33.

    Je viens de compiler la version git windowmaker-git-0.96.0.r1 sur Arch (paquet Aur), aucun problème pour lancer et utiliser Windowmaker.
    Je n'ai aucun "libwraster' installé sur mon système et ce programme/bibliothèque n'existe ni dans Arch ni dans Arch Aur. Après recherche rapide, il semblerait que cette bibliothèque n'existe que dans Debian et dérivées, pas certain, à vérifier.
    Info Ici
    https://www.windowmaker.org/docs/wmaker_install.html#software-dependencies
    'MagickWand 6.8.9-9 or newer'
    'If found, then the library WRaster can use the ImageMagick library to let WINDOW MAKER support more image formats, like SVG, BMP, TGA, … You can get it from http://www.imagemagick.org/'

    Peut-être utile, le script Arch que j'ai utilisé
    https://aur.archlinux.org/packages/windowmaker
    https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=windowmaker
    pkgver=0.96.0.r1.g2264ed9d

  • # trouvé...

    Posté par  . Évalué à 4.

    J'ai fini par trouver (et j'en ai honte - un peu - de vous avoir dérangé pour cela)

    Il y avait deux versions de wmaker installée : la 0.96 téléchargée et compilée depuis les sources et la version debian issue du dépôt… lightdm essayait de lancer la version debian.

    Merci à tous !

Suivre le flux des commentaires

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