Page 1 sur 1

[PKGBUILD] Problème de dépendances (résolu)

Publié : sam. 25 mai 2013, 00:29
par Tristelune
Salut à tous,

J'ai récemment eu un problème avec le paquet

https://aur.archlinux.org/packages/cnijfilter-mg6300/

que j'ai créé suite à l'achat de mon imprimante canon. Un des binaires du paquet utilise la librairie
libpng:

Code : Tout sélectionner

$ ldd /usr/bin/cifmg6300 
        linux-vdso.so.1 (0x00007fffcf898000)
        libtiff.so.5 => /usr/lib/libtiff.so.5 (0x00007f5c65250000)
        libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f5c6501b000)
        libcnbpcnclapi408.so => /usr/lib/libcnbpcnclapi408.so (0x00007f5c655ae000)
        libcnbpcnclui408.so => /usr/lib/libcnbpcnclui408.so (0x00007f5c64f14000)
        libpopt.so.0 => /usr/lib/libpopt.so.0 (0x00007f5c64d08000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f5c6495b000)
        liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f5c64738000)
        libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007f5c644e7000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f5c642d1000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f5c63fd3000)
        libcnbpcnclbjcmd408.so => /usr/lib/libcnbpcnclbjcmd408.so (0x00007f5c63ece000)
        libcnbpcmcm408.so => /usr/lib/libcnbpcmcm408.so (0x00007f5c63dc2000)
        libcnbpess408.so => /usr/lib/libcnbpess408.so (0x00007f5c63c41000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f5c63a3d000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f5c654c3000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f5c63821000)
Lorsque j'ai compilé mon paquet, la version 1.5 de libpng (ou 15 je ne sais pas comment ça fonctionne) était installée. Lors d'une récente mise à jour, la version 1.6 a été installée et ensuite il a été impossible d'imprimer. J'ai dû recompiler le paquet pour que tout rentre dans l'ordre.
Je me suis alors demandé comment éviter ce problème à l'avenir. Comme actuellement libpng est en version 1.6, j'ai pensé ajouter la dépendance suivante au PKGBUILD:

Code : Tout sélectionner

depends=('libpng=1.6') 
Mais ça ne passe pas. J'obtiens:

Code : Tout sélectionner

==> Making package: cnijfilter-mg6300 3.80-5 (Sat May 25 01:23:29 CEST 2013)
==> Checking runtime dependencies...
==> Missing dependencies:
  -> libpng=1.6
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
Si je mets

Code : Tout sélectionner

depends=('libpng=1.6.2') 
ça passe. Mais ce que je veux c'est lui indiquer que cnijfilter-mg6300 dépend de libpng 1.6.x. Comment lui spécifier ça ?
En passant: ce n'est que mon idée. On s'y prend peut-être autrement pour éviter que le problème ne se reproduise. Dans ce cas je suis ouvert à toutes suggestions.

Merci!

Re: [PKGBUILD] Problème de dépendances

Publié : sam. 25 mai 2013, 09:33
par FoolEcho
Salut,

Utilise < ou <= plutôt, car le égal contraint une version précise.

Code : Tout sélectionner

depends=('libpng<=1.7.0') 
Tristelune a écrit :Lorsque j'ai compilé mon paquet, la version 1.5 de libpng (ou 15 je ne sais pas comment ça fonctionne) était installée.
Pour info et parce que ça peut servir (si par exemple tu as un paquet précompilé qui nécessite une version précise), chaque précédente version de libpng change de nom (libpng est devenu libpng15 lorsque libpng est passé en 1.6).

Re: [PKGBUILD] Problème de dépendances

Publié : sam. 25 mai 2013, 15:12
par Tristelune
J'étais tellement fixé sur mettre un = dans la dépendance que je n'ai même pas pensé à la version que tu proposes...
Désolé.... :oops:

C'est bon comme ça, merci pour le coup de main!