Debian 9 : Installation logiciel 32 bits impossible

Bonjour,

Sous debian 8 64 bits, j’avais réussi très facilement à installer ce logiciel 32 bits en ajoutant les bibliothèques nécessaires libX11.so.6 :
- ia32-libs-sdl
- libc6-i386
- lib32neurses5
- ia32-libs
J’avais trouvé ces bibliothèques dans le paquet ia32-libs_0.4_amd64.deb

Sous Debian 9, il semble bien que ces bibliothèques aient été déclarées obsolètes et qu’on ne sait plus les installer.

Lors de l’installation du logiciel, celui-ci crée un dossier /opt/knipling30 dans mon /

Mais il y a déjà un problème à ce niveau. Alors que les sous-dossiers sont bien créés, le logiciel n’arrive pas à décompresser les diverses archives .zip qu’il contient.
Le lanceur pour cette application est bien placé (319 ko) et les permissions sont “Lecture seule” et "Autoriser l’exécution du fichier comme un programme.
Mais un double clic, un clic droit puis “Lancer” voire une tentative de lancement depuis la console se soldent par un échec du lancement. Les deux premières manoeuvres ne font rien. La troisième, la console - depuis mon /Home - m’indique “Commande introuvable”. Si je vais, en console et en Root dans le dossier qui contient le lanceur, j’ai le même message “commande introuvable”.

Comment parvenir à installer ce logiciel correctement ?
Merci.

quel est le nom de ce logiciel? le multiarch est il installé et activé?

C’est “Knipling”, un logiciel spécial qui permet de dessiner des patrons de tissage de dentelle aux fuseaux :wink:
multiarch-support” est bien installé.

ça veut pas crocheter, t’a pas le choix la seule version Debian est ici
https://packages.debian.org/wheezy/ia32-libs

faut la telecharger et l’installer unitairement
http://ftp.fr.debian.org/debian/pool/main/i/ia32-libs/ia32-libs_0.4_amd64.deb
http://ftp.fr.debian.org/debian/pool/main/i/ia32-libs/ia32-libs-i386_0.4_i386.deb

Même dans Wheezy, ia32-libs n’était déjà qu’un paquet de transition vers le multiarch. Apparemment il ne dispense même pas d’ajouter soi-même l’architecture i386. Tout ce qu’il fait est installer des paquets de bibliothèques de l’architecture i386 dont la liste risque d’être en partie obsolète deux versions plus tard. On peut très bien installer soi-même les bibliothèques 32 bits requises. Le plus difficile est probablement de les identifier.

Merci pour les infos.

En effet, déjà sous Wheezy j’avais dû tergiverser pour faire fonctionner l’engin. Le problème est que l’auteur de ce logiciel n’assure plus aucune évolution et surtout que parmi les logiciels de création dentellière, il est le seul qui tourne sous Linux.

Je vais tester ceci.
A+

Bonjour,

Quand je veux installer les paquets .deb suggéré, avec le premier j’ai le message d’erreur :

Knipling# dpkg -i ia32-libs_0.4_amd64.deb(Lecture de la base de données... 162900 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de ia32-libs_0.4_amd64.deb ...
Dépaquetage de ia32-libs (1:0.4) sur (1:0.4) ...
dpkg: des problèmes de dépendances empêchent la configuration de ia32-libs :
 ia32-libs dépend de ia32-libs-i386 ; cependant :
 Le paquet ia32-libs-i386:i386 n'est pas encore configuré.

dpkg: erreur de traitement du paquet ia32-libs (--install) :
 problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
 ia32-libs

et quand je veux installer le second paquet, j’ai ce message d’erreur :

Knipling# dpkg -i ia32-libs-i386_0.4_i386.deb
(Lecture de la base de données... 162900 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de ia32-libs-i386_0.4_i386.deb ...
Dépaquetage de ia32-libs-i386:i386 (1:0.4) sur (1:0.4) ...
dpkg: des problèmes de dépendances empêchent la configuration de ia32-libs-i386:i386 :
 ia32-libs-i386:i386 dépend de freeglut3 (>= 2.6.0-1).
 ia32-libs-i386:i386 dépend de lesstif2 (>= 1:0.95.2-1).
 ia32-libs-i386:i386 dépend de libacl1 (>= 2.2.49-4).
 ia32-libs-i386:i386 dépend de libaio1 (>= 0.3.107-7).
 ia32-libs-i386:i386 dépend de libasyncns0 (>= 0.3-1.1).
 ia32-libs-i386:i386 dépend de libattr1 (>= 1:2.4.44-2).
 ia32-libs-i386:i386 dépend de libaudio2 (>= 1.9.2-4).
 ia32-libs-i386:i386 dépend de libaudiofile1 (>= 0.2.6-8).
 ia32-libs-i386:i386 dépend de libavahi-client3 (>= 0.6.27-2+squeeze1).
 ia32-libs-i386:i386 dépend de libavahi-common3 (>= 0.6.27-2+squeeze1).
 ia32-libs-i386:i386 dépend de libbsd0 (>= 0.2.0-1).
 ia32-libs-i386:i386 dépend de libcap2 (>= 1:2.19-3).
 ia32-libs-i386:i386 dépend de libcomerr2 (>= 1.41.12-4stable1).
 ia32-libs-i386:i386 dépend de libcups2 (>= 1.4.4-7+squeeze1).
 ia32-libs-i386:i386 dépend de libcurl3 (>= 7.21.0-2).
 ia32-libs-i386:i386 dépend de libdbus-1-3 (>= 1.2.24-4+squeeze1).
 ia32-libs-i386:i386 dépend de libdirectfb-1.2-9 (>= 1.2.10.0-4).
 ia32-libs-i386:i386 dépend de libdrm-intel1 (>= 2.4.21-1~squeeze3).
 ia32-libs-i386:i386 dépend de libdrm-radeon1 (>= 2.4.21-1~squeeze3).
 ia32-libs-i386:i386 dépend de libdrm2 (>= 2.4.21-1~squeeze3).
 ia32-libs-i386:i386 dépend de libedit2 (>= 2.11-20080614-2).
 ia32-libs-i386:i386 dépend de libesd0 (>= 0.2.41-8).
 ia32-libs-i386:i386 dépend de libexif12 (>= 0.6.19-1).
 ia32-libs-i386:i386 dépend de libexpat1 (>= 2.0.1-7).
 ia32-libs-i386:i386 dépend de libflac8 (>= 1.2.1-2+b1).
 ia32-libs-i386:i386 dépend de libfltk1.1 (>= 1.1.10-2+b1).
 ia32-libs-i386:i386 dépend de libfontconfig1 (>= 2.8.0-2.1).
 ia32-libs-i386:i386 dépend de libfreetype6 (>= 2.4.2-2.1+squeeze3).
 ia32-libs-i386:i386 dépend de libgcrypt11 (>= 1.4.5-2).
 ia32-libs-i386:i386 dépend de libgdbm3 (>= 1.8.3-9).
 ia32-libs-i386:i386 dépend de libgl1-mesa-dri (>= 7.7.1-5).
 ia32-libs-i386:i386 dépend de libgl1-mesa-glx (>= 7.7.1-5).
 ia32-libs-i386:i386 dépend de libglu1-mesa (>= 7.7.1-5).
 ia32-libs-i386:i386 dépend de libgnutls26 (>= 2.8.6-1).
 ia32-libs-i386:i386 dépend de libgpg-error0 (>= 1.6-1).
 ia32-libs-i386:i386 dépend de libgphoto2-2 (>= 2.4.6-3).
 ia32-libs-i386:i386 dépend de libgphoto2-port0 (>= 2.4.6-3).
 ia32-libs-i386:i386 dépend de libgssapi-krb5-2 (>= 1.8.3+dfsg-4squeeze2).
 ia32-libs-i386:i386 dépend de libice6 (>= 2:1.0.6-2).
 ia32-libs-i386:i386 dépend de libidn11 (>= 1.15-2).
 ia32-libs-i386:i386 dépend de libieee1284-3 (>= 0.2.11-6).
 ia32-libs-i386:i386 dépend de libjack-jackd2-0 (>= 1.9.5~dfsg-14) | libjack0 (>= 1:0.118+svn3796-7).
 ia32-libs-i386:i386 dépend de libjpeg62 (>= 6b1-1).
 ia32-libs-i386:i386 dépend de libjpeg8 (>= 8b-1).
 ia32-libs-i386:i386 dépend de libk5crypto3 (>= 1.8.3+dfsg-4squeeze2).
 ia32-libs-i386:i386 dépend de libkeyutils1 (>= 1.4-1).
 ia32-libs-i386:i386 dépend de libkrb5-3 (>= 1.8.3+dfsg-4squeeze2).
 ia32-libs-i386:i386 dépend de libkrb5support0 (>= 1.8.3+dfsg-4squeeze2).
 ia32-libs-i386:i386 dépend de liblcms1 (>= 1.18.dfsg-1.2+b3).
 ia32-libs-i386:i386 dépend de libltdl7 (>= 2.2.6b-2).
 ia32-libs-i386:i386 dépend de liblzo2-2 (>= 2.03-2).
 ia32-libs-i386:i386 dépend de libmpg123-0 (>= 1.12.1-3).
 ia32-libs-i386:i386 dépend de libnspr4-0d (>= 4.8.6-1).
 ia32-libs-i386:i386 dépend de libnss3-1d (>= 3.12.8-1+squeeze4).
 ia32-libs-i386:i386 dépend de libogg0 (>= 1.2.0~dfsg-1).
 ia32-libs-i386:i386 dépend de libopenal1 (>= 1:1.12.854-2).
 ia32-libs-i386:i386 dépend de libpam0g (>= 1.1.1-6.1+squeeze1).
 ia32-libs-i386:i386 dépend de libpng12-0 (>= 1.2.44-1+squeeze1).
 ia32-libs-i386:i386 dépend de libpopt0 (>= 1.16-1).
 ia32-libs-i386:i386 dépend de libpulse0 (>= 0.9.21-3+squeeze1).
 ia32-libs-i386:i386 dépend de libsamplerate0 (>= 0.1.7-3).
 ia32-libs-i386:i386 dépend de libsane (>= 1.0.21-9).
 ia32-libs-i386:i386 dépend de libsasl2-2 (>= 2.1.23.dfsg1-7).
 ia32-libs-i386:i386 dépend de libsdl1.2debian (>= 1.2.15).
 ia32-libs-i386:i386 dépend de libselinux1 (>= 2.0.96-1).
 ia32-libs-i386:i386 dépend de libsigc++-2.0-0c2a (>= 2.2.4.2-1).
 ia32-libs-i386:i386 dépend de libsm6 (>= 2:1.1.1-1).
 ia32-libs-i386:i386 dépend de libsndfile1 (>= 1.0.21-3+squeeze1).
 ia32-libs-i386:i386 dépend de libsqlite3-0 (>= 3.7.3-1).
 ia32-libs-i386:i386 dépend de libssh2-1 (>= 1.2.6-1).
 ia32-libs-i386:i386 dépend de libssl1.0.0 (>= 1).
 ia32-libs-i386:i386 dépend de libstdc++5 (>= 1:3.3.6-20).
 ia32-libs-i386:i386 dépend de libsvga1 (>= 1:1.4.3-29).
 ia32-libs-i386:i386 dépend de libsysfs2 (>= 2.1.0+repack-1).
 ia32-libs-i386:i386 dépend de libtasn1-3 (>= 2.7-1).
 ia32-libs-i386:i386 dépend de libtdb1 (>= 1.2.1-2+b1).
 ia32-libs-i386:i386 dépend de libtiff4 (>= 3.9.4-5+squeeze3).
 ia32-libs-i386:i386 dépend de libts-0.0-0 (>= 1.0-7).
 ia32-libs-i386:i386 dépend de libusb-0.1-4 (>= 2:0.1.12-16).
 ia32-libs-i386:i386 dépend de libuuid1 (>= 2.17.2-9).
 ia32-libs-i386:i386 dépend de libvorbis0a (>= 1.3.1-1).
 ia32-libs-i386:i386 dépend de libvorbisenc2 (>= 1.3.1-1).
 ia32-libs-i386:i386 dépend de libvorbisfile3 (>= 1.3.1-1).
 ia32-libs-i386:i386 dépend de libwrap0 (>= 7.6.q-19).
 ia32-libs-i386:i386 dépend de libx11-6 (>= 2:1.3.3-4).
 ia32-libs-i386:i386 dépend de libx86-1 (>= 1.1+ds1-6).
 ia32-libs-i386:i386 dépend de libxau6 (>= 1:1.0.6-1).
 ia32-libs-i386:i386 dépend de libxaw7 (>= 2:1.0.7-1).
 ia32-libs-i386:i386 dépend de libxcb-render-util0 (>= 0.3.6-1).
 ia32-libs-i386:i386 dépend de libxcb-render0 (>= 1.6-1).
 ia32-libs-i386:i386 dépend de libxcb1 (>= 1.6-1).
 ia32-libs-i386:i386 dépend de libxcomposite1 (>= 1:0.4.2-1).
 ia32-libs-i386:i386 dépend de libxcursor1 (>= 1:1.1.10-2).
 ia32-libs-i386:i386 dépend de libxdamage1 (>= 1:1.1.3-1).
 ia32-libs-i386:i386 dépend de libxdmcp6 (>= 1:1.0.3-2).
 ia32-libs-i386:i386 dépend de libxext6 (>= 2:1.1.2-1).
 ia32-libs-i386:i386 dépend de libxfixes3 (>= 1:4.0.5-1).
 ia32-libs-i386:i386 dépend de libxft2 (>= 2.1.14-2).
 ia32-libs-i386:i386 dépend de libxi6 (>= 2:1.3-6).
 ia32-libs-i386:i386 dépend de libxinerama1 (>= 2:1.1-3).
 ia32-libs-i386:i386 dépend de libxml2 (>= 2.7.8.dfsg-2+squeeze1).
 ia32-libs-i386:i386 dépend de libxmu6 (>= 2:1.0.5-2).
 ia32-libs-i386:i386 dépend de libxmuu1 (>= 2:1.0.5-2).
 ia32-libs-i386:i386 dépend de libxp6 (>= 1:1.0.0.xsf1-2).
 ia32-libs-i386:i386 dépend de libxpm4 (>= 1:3.5.8-1).
 ia32-libs-i386:i386 dépend de libxrandr2 (>= 2:1.3.0-3).
 ia32-libs-i386:i386 dépend de libxrender1 (>= 1:0.9.6-1).
 ia32-libs-i386:i386 dépend de libxslt1.1 (>= 1.1.26-6).
 ia32-libs-i386:i386 dépend de libxss1 (>= 1:1.2.0-2).
 ia32-libs-i386:i386 dépend de libxt6 (>= 1:1.0.7-1).
 ia32-libs-i386:i386 dépend de libxtst6 (>= 2:1.1.0-3).
 ia32-libs-i386:i386 dépend de libxv1 (>= 2:1.0.5-1).
 ia32-libs-i386:i386 dépend de libxxf86vm1 (>= 1:1.1.0-2).
 ia32-libs-i386:i386 dépend de odbcinst1debian2 (>= 2.2.14p2-1).
 ia32-libs-i386:i386 dépend de libodbc1.
 ia32-libs-i386:i386 dépend de xaw3dg (>= 1.5+E-18).

dpkg: erreur de traitement du paquet ia32-libs-i386:i386 (--install) :
 problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
 ia32-libs-i386:i386

Je retrouve une remarque personnelle dans mes notes faites lors d’une précedente installation sous Debian 8 : “! Librairie 32 bits : Manque libX11.so.6”

Que faire ?

Normal, dpkg n’installe pas les dépendances manquantes. Ce sont les surcouches comme apt-get qui le font.

Comment faire pour installer ces deux bibliothèques avec cette commande “apt-get” ?

Je dois certainement compléter le fichier /etc/apt/sources.list. Mais avec quoi ?

Avec les dépôts de squeeze. S’ils ne sont plus disponibles sur les miroirs normaux, il faudra utiliser le miroir d’archive.

J’ai trouvé ceci concernant les dépôts de squeeze : dépôt archive.

Maintenant que Squeeze est archivée, comment puis-je obtenir des paquets de cette version ?
    Utilisez la ligne suivante dans votre fichier sources.list :

    deb http://archive.debian.org/debian squeeze main
    deb http://archive.debian.org/debian squeeze-lts main

La seconde ligne échouera avec un message de type « expired », vous devrez alors ajouter la ligne suivante dans /etc/apt/apt.conf (créez ce fichier s'il n'existe pas déjà) :

    Acquire::Check-Valid-Until false;

Mais ensuite, après avoir complété mon “sources.list”, quelle instruction dois-je utiliser pour installer les bibliothèques dont j’ai besoin ?

Si j’installe ces anciennes bibliothèques, est-ce que je ne risque pas d’avoir des interférences, de problèmes avec Debian 9 ?

il faut restreindre avec un fichier préférence

0 < P < 100
la version sera installée si aucune version du paquet n’est installée.
100 <= P < 500
la version sera installée, sauf s’il existe une version appartenant à une autre distribution ou si la
version installée est plus récente.
lire

man apt_preferences

dans /etc/apt/preferences.d

créer un fichier squeeze

du genre

Package: *
Pin: release a=squeeze
Pin-Priority: 400

et tu verifies d’abord que rien n’est proposé en provenance de squeeze

apt update

ça vérifiera l’accès a squeeze
si rien n’est proposé c’est bon ça veut dire que tu ne peux installer des paquets de squeeze que par commande

apt install ia32-libs-i386_0.4_i386.deb

Est-ce bien nécessaire ?
Par défaut si une version plus récente d’un paquet existe dans stretch, elle sera installée.
Si le paquet n’existe plus dans stretch, il ne pourra être pris que dans wheezy.
Ce qui implique que, dans tous les cas avec ou sans préférences, des paquets obsolètes non maintenus et contenant des failles connues sont susceptibles d’être installés.

Marchera pas. Contrairement à dpkg, apt attend le nom du paquet ia3-libs, pas le nom du fichier .deb.

apt install ia32-libs

pour son logiciel Knipling on est oblige de récupérer des vieilles lib donc je ne pense pas qu’il y ait lbeaucoup e choix

Apres installation on peut supprimer l’accès a sqeeze

Je ne sais pas si ça peut vous aider, mais voici le fichier d’installation fourni sur le CD :

#!/bin/sh

VER=30

cd `dirname $0`
echo `pwd`
if [ ! -d /opt/knipling$VER ]
then
echo "Lege Verzeichnis an/ Create directory: /opt/knipling$VER"
mkdir /opt/knipling$VER
else
 echo "Verzeichnis gefunden/ Found direcory: /opt/knipling$VER"
fi
echo "Kopiere alle Dateien nach/ Copy all files to: /opt/knipling$VER"
cp -R knipling$VER/* /opt/knipling$VER
#if [ -d /opt/kde ]
#then
#  echo "Kopiere KDE-Einstellungen/ Copy KDE settings"
#  cp -R kde/* /opt/kde/share
#fi
#if [ -d /opt/kde2 ]
#then
#  echo "Kopiere KDE2-Einstellungen/ Copy KDE2 settings"
#  cp -R kde2/* /opt/kde2/share 
#fi
#if [ -d /opt/kde3 ]
#then
#  echo "Kopiere KDE3-Einstellungen/ Copy KDE3 settings"
#  cp -R kde3/* /opt/kde3/share 
#fi
chmod 555 /opt/knipling$VER/knipling
chmod 755 /opt/knipling$VER
echo "Lege symbolischen Link an/Create symbolic link: /usr/X11R6/bin/knipling$VER"
rm -f /usr/X11R6/bin/knipling$VER
ln -sf /opt/knipling$VER/knipling /usr/X11R6/bin/knipling$VER
echo "Fertig/ Finish!"

Je suis une véritable bille avec Bash :disappointed_relieved: mais à part créer le dossier /opt/knipling30/ et y copier les différents fichiers contenus dans le cd puis créer un lien symbolique vers un “machin” X11R6.

Les différents fichiers de dessins sont des fichiers html du genre :

<html>
<head>
<title>Basics</title>
<link href="../../doc.css" type="text/css" rel="stylesheet">
</head>
<body>

<table width="100%" style="background-color:#dddddd;">
<tr><td width="50%"><h3><a href="step.html">Step by Step to the Lace Pattern</a></h3></td><td align="right"><em><a href="searchidx.html">Index</a></em></td></tr>
<tr><td colspan="2"><em> -&gt; <b>Basics</b></em></td></tr>
<tr><td><em><a href="intro.html"><img src="../../nav/left.gif" alt="Previous" title="Previous" border="0"/>Introduction</a></em></td><td align="right"><em><a href="selectgrid.html">Selecting the proper grid<img src="../../nav/right.gif" alt="Next" title="Next" border="0"/></a></em></td></tr>
</table>

<h2>Basics</h2>

<p>
<a href="selectgrid.html">Selecting the proper grid</a><br/>
<a href="line0.html">Line</a><br/>
<a href="keyboard.html">Drawing with the keyboard</a><br/>
<a href="arc.html">Circular Arc</a><br/>
<a href="preview1.html">Print Preview and Magnifying Glass</a><br/>
<a href="del.html">Delete Elements</a><br/>
<a href="grddist.html">Computing Grid distances</a><br/>
<a href="mark.html">Marking Elements</a><br/>
<a href="worker.html">Draw the worker</a><br/>
<a href="bezier.html">Beziér curve</a><br/>
<a href="ribbon.html">Create ribbon</a><br/>
<a href="mvpoint.html">Shift End points</a><br/>
<a href="division.html">Dividing borders</a><br/>
<a href="mirror.html">Mirror</a><br/>
<a href="libobj.html">Library</a><br/>
<a href="leaf.html">Leaf</a><br/>
<a href="zoom.html">Zooming the Work Window</a><br/>
<a href="editel.html">Edit Elements</a><br/>
<a href="picot.html">Picot</a><br/>
<a href="title.html">Title</a><br/>
<a href="save.html">Save the Pattern</a><br/>
<a href="print.html">Print the Pattern</a><br/>
</p>
<table width="100%" style="background-color:#dddddd;">
<tr><td><em><a href="intro.html"><img src="../../nav/left.gif" alt="Previous" title="Previous" border="0"/>Introduction</a></em></td><td align="right"><em><a href="selectgrid.html">Selecting the proper grid<img src="../../nav/right.gif" alt="Next" title="Next" border="0"/></a></em></td></tr>
<tr><td colspan="2" align="center"><b>knipling 3.0</b></td></tr>
</table>

</body>
</html>

Ceci vous donne peut-être des indications pour me permettre éventuellement d’adapter ce logiciel à la nouvelle Debian ?

Il n’y a aucune mention ni vérification de présence des bibliothèques nécessaires dans le script.
Les bibliothèques nécessaires au lancement de l’exécutable peuvent être affichées par

ldd /opt/knipling30/knipling

Tu peux ensuite rechercher quels paquets fournissent ces bibliothèques avec apt-file ou sur https://packages.debian.org.
Mais les éventuelles bibliothèques chargées à la demande en cours d’exécution ne sont pas mentionnées.

Mais le problème est que je n’arrive même pas à lancer l’application actuellement. Et donc avec la commande :

ldd /opt/knipling30/knipling

il ne se passe rien.

Il est plus que probable qu’au niveau de l’exécutable qui fait 4.2 Mo, il y a les appels à des bibliothèques devenues obsolètes. C’est pour cela que je dois installer ces fameuses bibliothèques.

Mais comment faire sans risquer de perturber Debian 9.
Tu écris que la commande :

    apt install ia32-libs-i386_0.4_i386.deb

ne fonctionnera pas.
Que faut-il que je fasse pour obtenir l’installation des bibliothèques dont j’ai besoin ?

Dans man apt-get, il y a ceci :

install pkg(s)
This option is followed by one or more packages desired for installation. Each package is a package name, not a fully qualified filename (for instance, in a Fedora Core system, glibc would be the argument provided, not glibc-2.4.8.i686.rpm). 
All packages required by the package(s) specified for installation will also
be retrieved and installed. The /etc/apt/sources.list(5) file is used to locate the repositories for the desired packages. If a hyphen (-) is appended to the package name (with no intervening space), the identified package will be removed if it is currently installed. Similarly a plus sign (+) can be used to designate a package to install. These latter features may be used to override decisions made by apt-get's conflict resolution system. 
A specific version of a package can be selected for installation by
following the package name with an equals (=) and the version of the package to select. This will cause that version to be located and selected for install. Alternatively, a specific distribution can be selected by following the package name with a slash (/) and the version of the distribution or the Archive name (i.e. stable, testing, unstable). 
Both of the version selection mechanisms can downgrade packages and must be
used with care. 

Mais que je l’ai écrit, je suis une bille avec la ligne de commande.

Je suis étonné que ldd n’affiche rien. Même pas un message d’erreur ?
J’envisage les causes possibles suivantes :

  • /opt/knipling30/knipling n’est pas un binaire exécutable mais juste un script shell qui appelle le vrai binaire.

  • /opt/knipling30/knipling est un binaire exécutable lié statiquement qui n’utilise donc aucune bibliothèque dynamique. Hautement improbable.

  • le programme ldd d’un système 64 bits ne sait pas interpréter nativement un binaire 32 bits.

Qu’affiche la commande suivante ?

file /opt/knipling30/knipling

Après quelques tests, j’arrive à la conclusion que pour interpréter un binaire d’une architecture donnée, ldd a besoin de la libc6 de l’architecture correspondante. Si file indique que le fichier est un script shell, il faut le lire pour trouver le binaire qu’il appelle. Si au contraire c’est bien un exécutable 32 bits lié dynamiquement, il faut commencer par installer libc6:i386.

# ajouter l'architecture i386
dpkg --add-architecture i386

# mettre à jour la liste des paquets disponibles de la nouvelle architecture
apt-get update

# installer libc6:i386
apt-get install libc6:i386

Ensuite, la commande ldd devrait afficher des informations sur le programme 32 bits.

Note bien qu’au lieu de chercher les bibliothèques nécessaires, après avoir ajouté les sources de squeeze et l’architecture i386 et mis à jour la liste des paquets tu peux directement installer le paquet ia32-libs simplement avec

apt-get install ia32-libs

(ou apt au lieu de apt-get, ça ne change pas grand-chose)

Mais cela n’installera pas forcément toutes les bibliothèques nécessaires, et cela en installera beaucoup de non nécessaires et potentiellement obsolètes.

Bonjour,

En effet, le fichier d’installation “fait quelque-chose” avec le fichier exécutable “knipling” qui est sur le cd pour réaliser l’installation et créer un dossier de paramétrage dans mon /home.
Lors de mon précédente essais d’installation, les fichier ont été copiés/créés dans /opt/ mais il n’ont pas pu être décompactés (pourquoi ? Je ne sais pas, zip et unzip sont bien installés) et aucun dossier n’a été créé dans mon /home.
Comme tu le suggères, cet exécutable fait un travail et il a besoin de ces vieilles bibliothèques pour le faire correctement.

Ce fichier exécutable “knipling” n’est pas, semble-t-il un script shell et de plus il m’est impossible de l’ouvrir avec divers logiciels dont gedit, geany. Il n’est pas non plus possible de le copier. Une erreur est montrée à chaque fois après 300 Ko copiés puisque ce fichier est en lecture seule dans les 3 groupes.

la commande retourne :

# file knipling
knipling: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.8, stripped

t’as toujours pas lancé le

apt install ia32-libs

:joy: :joy: :joy: