[cups] canon mp540

Bonjour,

J’utilise CLDG x86-64. J’essai d’installer le pilote d’impression pour l’imprimante Canon MP540 avec le package net-print/cnijfilter-3.00. La compilation de la librairie renvoi l’erreur suivante :

bjfimage.c:1578:6: erreur: déréférencement d'un pointeur de type incomplet

Le code concerné est le suivant :

        png_p = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
        if (png_p == NULL){
                goto onErr;
        }

        info_p = png_create_info_struct (png_p);
        if (info_p==NULL){
                png_destroy_read_struct(&png_p, (png_infopp)NULL, (png_infopp)NULL);
                goto onErr;
        }

        if (setjmp (png_p->jmpbuf)) <<< line 1578
        {
                png_destroy_read_struct(&png_p, &info_p, (png_infopp)NULL);
                goto onErr;
        }

Existe-t-il un USE flag ou une option de compilation permettant de corriger ce problème ?
Merci

Salut Sylvain,

Les USE FLAGS pour ce “binary” sont :

 + + ip4700          : <unknown>
 + + mp250           : <unknown>
 + + mp270           : <unknown>
 + + mp490           : <unknown>
 + + mp550           : <unknown>
 + + mp560           : <unknown>
 - - mp640           : <unknown>
 + + nocupsdetection : <unknown>
 - - servicetools    : <unknown>

De plus ce binaire est nativement installé avec CLDX en tout cas, je n’en doute donc pas pour le CLDG :

[binary   R    ] net-print/cnijfilter-3.20-r1

Tu remarqueras également que ton matériel n’est pas inclus dans la liste des matériels pris en charge par ce binaire.

Je te propose donc de :

  • Te rendre sur le site Canon (qui n’aime pas trop linux à ce que j’ai pu lire) pour télécharger le pilote sur le lien suivant :
    Site de téléchargement Canon

  • Installer RPM depuis emerge en utilisant le USE Python si tu en as besoin donc soit :

    emerge -qv rpm

ou mais tout à fait facultatif.

USE="python" emerge -qv rpm
  • Installer le pilote en utilisant RPM, généralement avec la commande en partant du principe que tu sois dans le répertoire du RPM téléchargé :

    rpm -ihv --nodeps lenomdupaquet.rpm

Merci

XKomodor

J’ai fait un patch pour mettre à jour le contenu du fichier “bjfimage.c” (version 3.50), et j’ai toujours la même erreur alors que la version 3.50 s’installe sans problème. Je trouve cela très étrange. J’ai le même avec la version 3.20.
Il semble que le problème soit lié au fait que ce modules est dédié à la plateforme x86. Existe-t-il une option pour compiler ce module comme un composant x86 sous un environnement x86_64 ?
Si je ne trouve pas de solution à l’installation via emerge classique, j’essaierai ta solution.
Merci
Sylvain