Bullseye problème instalation driver canon ip100

Bonsoir à tous
Je n’arrive pas à installer le driver pour une imprimante canon ip100
(cnijfilter-ip100series-3.70-1-deb)
sur une debian 11
j’obtiens ce message d’erreur quand j’exécutes ./install.sh ou dpkg

Pilote d'imprimante Canon Inkjet
Version 3.70
Copyright CANON INC. 2001-2012
Tous droits réservés.

Commande exécutée =
sudo dpkg -iG ./packages/cnijfilter-common_3.70-1_amd64.deb

Sélection du paquet cnijfilter-common précédemment désélectionné.
(Lecture de la base de données... 456935 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../cnijfilter-common_3.70-1_amd64.deb ...
Dépaquetage de cnijfilter-common (3.70-1) ...
Paramétrage de cnijfilter-common (3.70-1) ...
Commande exécutée = sudo dpkg -iG ./packages/cnijfilter-ip100series_3.70-1_amd64.deb
Sélection du paquet cnijfilter-ip100series précédemment désélectionné.
(Lecture de la base de données... 456955 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../cnijfilter-ip100series_3.70-1_amd64.deb ...
Dépaquetage de cnijfilter-ip100series (3.70-1) ...
dpkg: des problèmes de dépendances empêchent la configuration de cnijfilter-ip100series :
 cnijfilter-ip100series dépend de libpng12-0 (>= 1.2.8rel) ; cependant :
  Le paquet libpng12-0 n'est pas installé.
 cnijfilter-ip100series dépend de libtiff4 ; cependant :
  Le paquet libtiff4 n'est pas installé.

dpkg: erreur de traitement du paquet cnijfilter-ip100series (--install) :
 problèmes de dépendances - laissé non configuré

Comment je peux remédier ce problème ?
Merci de vos réponses .

Salut,

Il s’agit d’une vieille version plus disponible, voir ce sujet en Anglais pour résoudre le problème: https://www.linuxuprising.com/2018/05/fix-libpng12-0-missing-in-ubuntu-1804.html?m=1

Tu peux le trouver ici: UbuntuUpdates - Package "libtiff4" (precise 12.04)

Attention cependant, il s’agit de vieilles versions qui contiennent des failles et bugs (dont une fuite de mémoire à ce que j’ai pu lire)

Pour les installer:

 # dpkg -i nomdupackage.deb

Revient nous voir pourvoir si d’autres packages sont nécessaires :wink:

De façon générale, quand tu as une erreur de gestion de dépendance après avoir lancé dpkg, il faut lancer apt install -f afin de résoudre le problème.
Si les paquets manquants sont disponibles, apt va les installer, sinon, il va désinstaller le paquet qui a un problème de dépendances.

1 J'aime

Et vérifies que tu as vraiment besoin de ce pilote fourni par Canon (et pas mis à jour). J’ai une PIXMA aussi, et elle fonctionne très bien par défaut, avec CUPS. Si c’est le cas, c’est de loin la meilleure solution.

dpkg -i libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
(Lecture de la base de données... 456935 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de libpng12-0_1.2.54-1ubuntu1.1_amd64.deb ...
Dépaquetage de libpng12-0:amd64 (1.2.54-1ubuntu1.1) ...
dpkg: erreur de traitement de l'archive libpng12-0_1.2.54-1ubuntu1.1_amd64.deb (--install) :
 impossible d'installer une nouvelle version de « /lib/x86_64-linux-gnu/libpng12.so.0 »: Aucun fichier ou dossier de ce type
Traitement des actions différées (« triggers ») pour libc-bin (2.31-13+deb11u2) ...
Des erreurs ont été rencontrées pendant l'exécution :
 libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

et je ne peut pas désinstaller libpng 16 cela supprimerai plus de 500 paquets

En ajoutant les dépots

add-apt-repository ppa:linuxuprising/libpng12
 libpng12-0 for Ubuntu 20.10, 20.04, 19.10 or 19.04: https://www.linuxuprising.com/2018/05/fix-libpng12-0-missing-in-ubuntu-1804.html
 More info: https://launchpad.net/~linuxuprising/+archive/ubuntu/libpng12
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: le trousseau local « /tmp/tmp545k1n0r/pubring.gpg » a été créé
gpg: /tmp/tmp545k1n0r/trustdb.gpg : base de confiance créée
gpg: clef EA8CACC073C3DB2A : clef publique « Launchpad PPA for Linux Uprising » importée
gpg:       Quantité totale traitée : 1
gpg:                     importées : 1
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
gpg: aucune donnée OpenPGP valable n'a été trouvée. 

Je crois que cela va pas le faire .
???

Peut être avec wine cela pourrait fonctionner ?

Je me répète, mais as-tu essayé avec CUPS, ce serait quand même beaucoup plus simple. Il faut dans le navigateur aller sur « http://localhost:631 », choisir Administration, puis faire « Ajouter une imprimante » ou « Trouver » une nouvelle imprimante", avec ton imprimante allumée.
Il faut CUPS installé bien sûr (sudo apt install cups).
-=-
De plus , si je vais sur le site Canon, je ne vois pas de pilote Linux pour ton imprimante :
Canon U.S.A., Inc. | PIXMA iP100

Ok pour cups mais en dernier recours ( paramètre trop restreint ). Je ne désespère pas il doit y avoir d’autres solutions .
Les pilotes linux ne sont pas sur le site canon us par contre tu les trouveras sur le site canon.fr .
Merci pour votre aide .

Non, wine ne permet pas la mise en œuvre de pilotes Windows sous Linux.
Le plus proche qui fait ça, c’est ndiswrapper, mais je crois que c’était pas fait pour les imprimantes…

En effet c’était pour les cartes réseau sans fil: fr/NdisWrapper - Debian Wiki

Je plussoie.

Pourquoi pas tenter hplip (mais sans trop y croire) vu que certaines cartouches génériques passent aussi bien sur du hp que du canon aussi.

Après pour l’avoir fait personnellement, le fait de décompresser le paquet « libpng12 » à la main, d’avoir extrait le fichier et de l’avoir copié directement dans le dossier où il est demandé, soit dans celui du programme pour mon cas mais pourquoi pas dans les dossiers système, ça m’a permis de résoudre le problème tout en gardant à l’esprit que ce n’est pas une bonne pratique sécuritaire.

Re bonsoir
j’ai vu q’avec dpkg-deb -x et dpkg-deb --control je pouvais modifier l’archive et je les fais .
j’ai ce fichier control
Package: cnijfilter-ip100series
Version: 3.70-1
Section: graphics
Priority: optional
Architecture: amd64
Depends: libatk1.0-0 (>= 1.9.0), libc6 (>= 2.3.4-1), libcairo2 (>= 1.0.2-2), libcupsys2 (>= 1.2.1) | libcups2, libfontconfig1 (>= 2.3.0), libglib2.0-0 (>= 2.10.0), libgtk2.0-0 (>= 2.8.0), libpango1.0-0 (>= 1.12.3), libpng12-0 (>= 1.2.8rel), libpopt0 (>= 1.7), libtiff4, libx11-6, libxcursor1 (>> 1.1.2), libxext6, libxfixes3, libxi6, libxinerama1, libxml2 (>= 2.6.24), libxrandr2, libxrender1, cnijfilter-common (>= 3.70)
Installed-Size: 8208
Maintainer: Canon Inc. sup-debian@list.canon.co.jp
Source: cnijfilter-common
Description: IJ Printer Driver for Linux.
This IJ Printer Driver provides printing functions for Canon Inkjet
printers operating under the CUPS (Common UNIX Printing System) environment.

Si je remplace dans ce fichier le libpng12 par le libpng16 actuel de debian 11 et que je reconstruit le paquet avec la commande dpkg -b
A votre avis ?

C’est niet !
Le dpkg -b renvoie vers man dpkg-deb où on lit

       -b, --build répertoire-binaire [archive|répertoire]
           Crée une archive Debian avec l'arborescence contenue dans
           répertoire-binaire. répertoire-binaire doit posséder un
           sous-répertoire DEBIAN qui contient les fichiers de contrôle tels
           que le fichier « control » lui-même. Ce répertoire n'apparaît pas
           dans l'archive de l'arborescence du paquet binaire ; mais les
           fichiers qu'il contient sont mis dans la zone de contrôle du paquet
           binaire.

Autrement dit vous semblez préférer bidouiller d’une manière infâme le paquet binaire généré au lieu de tenter une autre piste : CUPS.
Je dis infâme car ce n’est pas pour rien que pour libpng on a tout un tas de versions qui sont tellement différentes qu’on a été obligé d’intégrer le numéro de version dans le nom du paquet binaire au lieu de simplement jouer sur la version d’un paquet binaire libpng Autrement dit, les gens de

ont fait leur boulot du temps de libpng12 et n’ont rien fait depuis pour mettre à jour leur pilote. Sans les sources exactes vous ne pouvez pas (re)générer un paquet binaire qui utilise libpng16 .

Pouvez-vous préciser ? Pourquoi en dernier recours ?

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Il est souvent trop tôt pour savoir s’il n’est pas trop tard. »
Pierre Dac

« Rien ne sert de penser, faut réfléchir avant. »
Pierre Dac

Ok je ne vais pas modifier le paquet binaire je voulais juste savoir si il y avait une possibilité et merci de me le confirmer que cela ne peut être réalisable.
Pour Cups c’est bien pour du traitement de texte, pour les images il manque des paramètres : résolution, mise en page, niveau d’encre etc …
Et c’est dommage d’avoir une canon ip100 et de ne pas pouvoir exploiter toute ces fonctions.
Il y a Turboprint qui fait bien son travail mais c’est un pilote propriétaire payant et ne correspond pas vraiment à l’esprit de l’Open-Source .
Encore un merci à tous pour vos réponses rapide, et longue vie à Debian.

Pourquoi n’essaies-tu pas la solution proposée par DarkGagan ? Àsavoir récupérer la lib manquante. Regarde cette page :

Ok si je décompresse le paquet manuellement (libpng12-0_1.2.54-1ubuntu1.1_amd64.deb) et copié les fichiers demandés directement dans les dossiers système, je vais avoir libpng12 et libpng16 cela ne va pas corrompre le système ?

Je ne pense pas car le paquet ne sera pas installé donc connu. Tu peux rajouter tout ce que tu veux à la main, ce sera ignoré si tu ne fais aucune référence. C’était un peu comme mettre une *.dll à la main sous Win$: si tu tapais pas dans cmd « regsvr32 [paramètres que j’ai oublié] nomdufichier.dll » la *.dll en question n’était pas reconnue (en général). Tu décompresses le paquet libpng12.deb, tu obtient 2 archives et un fichier d’index. Tu ne gardes que l’archive « data.tar » que tu décompresses et là tu verras dans l’arborescence décompressée le chemin où mettre la librairie. Je regarde après avoir dormi un peu je serai peut-être plus clair :grinning_face_with_smiling_eyes:

Bonjour
j’ai décompressé l’archive data et je me retrouve avec 2 dossiers lib et usr
Dans le dossier lib il y a un sous dossier x86_64-linux-gnu et 2 fichiers libpng12.so.0 (Lien vers bibliothèque partagée (application/x-sharedlib)et libpng12.so.0.54.0 .
Dans le dossier usr il il y a deux sous dossier lib et share
dans le dossier lib un sous dossier x86_64-linux-gnu puis un fichier libpng12.so.0 (Lien vers bibliothèque partagée (application/x-sharedlib)
Dans le dossier shrare il y a la doc/libpng12-0/

j’ai mis ces fichiers dans leurs répertoires approprié ainsi que la doc
et je fais l’installation du driver:

Pilote d’imprimante Canon Inkjet
Version 3.70
Copyright CANON INC. 2001-2012
Tous droits réservés.

==================================================
Commande exécutée = sudo dpkg -iG ./packages/cnijfilter-common_3.70-1_amd64.deb
Sélection du paquet cnijfilter-common précédemment désélectionné.
(Lecture de la base de données… 487769 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de …/cnijfilter-common_3.70-1_amd64.deb …
Dépaquetage de cnijfilter-common (3.70-1) …
Paramétrage de cnijfilter-common (3.70-1) …
/sbin/ldconfig: /lib/x86_64-linux-gnu/libpng12.so.0 n’est pas un lien symbolique

Commande exécutée = sudo dpkg -iG ./packages/cnijfilter-ip100series_3.70-1_amd64.deb
Sélection du paquet cnijfilter-ip100series précédemment désélectionné.
(Lecture de la base de données… 487786 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de …/cnijfilter-ip100series_3.70-1_amd64.deb …
Dépaquetage de cnijfilter-ip100series (3.70-1) …
dpkg: des problèmes de dépendances empêchent la configuration de cnijfilter-ip100series :
cnijfilter-ip100series dépend de libpng12-0 (>= 1.2.8rel) ; cependant :
Le paquet libpng12-0:amd64 n’est pas installé.
cnijfilter-ip100series dépend de libtiff4 ; cependant :
Le paquet libtiff4 n’est pas installé.

dpkg: erreur de traitement du paquet cnijfilter-ip100series (–install) :
problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l’exécution :
cnijfilter-ip100series
Commande exécutée = sudo dpkg -P cnijfilter-ip100series
(Lecture de la base de données… 487994 fichiers et répertoires déjà installés.)
Suppression de cnijfilter-ip100series (3.70-1) …
/sbin/ldconfig: /lib/x86_64-linux-gnu/libpng12.so.0 n’est pas un lien symbolique

Purge des fichiers de configuration de cnijfilter-ip100series (3.70-1) …
/sbin/ldconfig: /lib/x86_64-linux-gnu/libpng12.so.0 n’est pas un lien symbolique

Commande exécutée = sudo dpkg -P cnijfilter-common
(Lecture de la base de données… 487786 fichiers et répertoires déjà installés.)
Suppression de cnijfilter-common (3.70-1) …
/sbin/ldconfig: /lib/x86_64-linux-gnu/libpng12.so.0 n’est pas un lien symbolique

Purge des fichiers de configuration de cnijfilter-common (3.70-1) …
/sbin/ldconfig: /lib/x86_64-linux-gnu/libpng12.so.0 n’est pas un lien symbolique

et j’ai ce message d’erreur libpng12.so.0 n’est pas un lien symbolique
pour le lien libtiff4 (not found)
ont va pas trop ce prendre la tête si sa ne fonctionne pas je rachète turboprint.

Ce n’est pas aussi simple que ça : les « shared libraries » (dynamiques) ont besoin d’être installées sur le système (contrairement aux statiques), ce qui permet de ne les charger qu’à la demande. Peut-être qu’un « dev » pourra mieux expliquer cela, car ce n’est pas mon cas.
-=-
Donc j’ai testé dans une VM :

  1. tu télécharges libpng12-0_1.2.54-1ubuntu1.1+1~ppa0~eoan_amd64.deb du PPA comme indiqué sur le lien Ubuntu que je t’ai envoyé. Puis tu installes le .deb (sudo apt install …) et tu verras que cette version s’installe comme expliqué dans l’article.
  2. Dans le répertoire du pilote Canon, il y a un script install.sh : Tu l’exécutes et tu verras qu’il n’y a plus de problème avec cette libpng. Par contre, l’installation échoue avec un autre problème : 'le paquet libtiff4 n’est pas installé".
    Et de ce que j’ai pu voir, cette library libtiff4 a été retirée il y a bien longtemps de Debian…
    -=-
    En conclusion : ce pilote Canon date de 2012, il est largement obsolete. Tu peux éventuellement écrire à leur support et leur demander une version récente, mais je doute du résultat. Pourtant pour eux, ça ne leur demanderait pas beaucoup de boulot. Et ton imprimante n’est pas donnée en plus… Mais bon, moi ce que j’ai retenu de mon expérience « imprimantes Canon », c’est que ce n’est pas le bon choix sous Linux.
    Il te reste la solution de créer une VM Windows, et d’imprimer à partir de cette VM. C’est encore le plus simple, à moins de trouver une solution pour cette nouvelle lib manquante.

ok je vais rédiger un petit message à leur support et demander une version plus récente pour linux, qui ne tente rien n’a rien.
Cordialement .

Yep !

Et pourquoi ne pas installer la libtiff5 présente dans synaptic ?
Selon le test de présence de la lib fait par l’installeur, il n’y verra que du feu, quitte ensuite à créer à côté un lien libtiff4 pointant vers libtiff5 au cas où.
Voilà ce que j’ai chez moi (j’ai enlevé les chemins pour une meilleure lisibilité):

$ ls -lGg /usr/lib/x86_64-linux-gnu/libtif*
-rw-r--r-- 1 879266 21 déc.   2020 libtiff.a
lrwxrwxrwx 1     16 21 déc.   2020 libtiff.so -> libtiff.so.5.6.0
lrwxrwxrwx 1     16 21 déc.   2020 libtiff.so.5 -> libtiff.so.5.6.0
-rw-r--r-- 1 544800 21 déc.   2020 libtiff.so.5.6.0
-rw-r--r-- 1   8478 21 déc.   2020 libtiffxx.a
lrwxrwxrwx 1     18 21 déc.   2020 libtiffxx.so -> libtiffxx.so.5.6.0
lrwxrwxrwx 1     18 21 déc.   2020 libtiffxx.so.5 -> libtiffxx.so.5.6.0
-rw-r--r-- 1  14256 21 déc.   2020 libtiffxx.so.5.6.0