web-dev-qa-db-fra.com

Comment installer des packages lorsque la dépendance est déjà installée à partir de PPA?

J'essaie d'installer libgdal-dev:

Sudo apt-get install libgdal-dev

Mais il a des dépendances non satisfaites: Depends: libpng-dev

Qui lui-même ne peut pas être installé car:

libpng12-dev : Depends: libpng12-0 (= 1.2.54-1ubuntu1.1) but 1.2.54-5x0~ppa is to be installed

Ce paquet est installé à partir de ppa:

dpkg -s libpng12-0 | grep ^Maintainer
Maintainer: Otto Meier <[email protected]>

( via )

Je veux garder cela ppa car il fournit GIMP 2.9.


Question :

  • Comment puis-je installer libpng12-dev et libgdal-dev (peut-être en ignorant ou en modifiant manuellement certaines dépendances)?

  • ou généralement: comment installer des packages lorsque la dépendance est déjà installée dans une autre version de PPA?


(Astuce: Installer GIMP avec Snap n’est ni préféré ni possible )



Ce que j'ai essayé:

J'ai installé libpng12-dev en ignorant libpng12-0 dependecy ( via ):

apt download libpng12-dev
Sudo dpkg --ignore-depends=libpng12-0 -i libpng12-dev_1.2.54-1ubuntu1.1_AMD64.deb

Cela a fonctionné.
De plus, libgdal-dev avait toujours des dépendances Unnet, alors j'ai fait la même chose:

Sudo apt install libgdal-dev
Sudo dpkg --ignore-depends=libpng12-0 -i libgdal-dev_2.2.2+dfsg-1~xenial1_AMD64.deb #png12-dev_1.2.54-1ubuntu1.1_AMD64.deb

dpkg: dependency problems prevent configuration of libgdal-dev:
 libgdal-dev depends on libarmadillo-dev; however:
  Package libarmadillo-dev is not installed.
 libgdal-dev depends on libcurl4-gnutls-dev | libcurl-ssl-dev; however:
  Package libcurl4-gnutls-dev is not installed.
  Package libcurl-ssl-dev is not installed.
 libgdal-dev depends on libdap-dev; however:
  Package libdap-dev is not installed.
 libgdal-dev depends on libepsilon-dev; however:
  Package libepsilon-dev is not installed.
 libgdal-dev depends on libfreexl-dev; however:
  Package libfreexl-dev is not installed.
 libgdal-dev depends on libfyba-dev; however:
  Package libfyba-dev is not installed.
 libgdal-dev depends on libgeos-dev; however:
  Package libgeos-dev is not installed.
 libgdal-dev depends on libgeotiff-dev; however:
  Package libgeotiff-dev is not installed.
 libgdal-dev depends on libgif-dev; however:
  Package libgif-dev is not installed.
 libgdal-dev depends on libhdf4-alt-dev; however:
  Package libhdf4-alt-dev is not installed

Alors, je me suis arrêté ici et j'ai corrigé la situation:

Sudo dpkg -r libgdal-dev
Sudo dpkg -r libpng12-dev
3
pLumo

@ dsstorefile1 a donné le bon indice pour résoudre mon problème:

Le ppa que j'ai lié dans la question était a été créé pour 16.04 lorsque je l'ai installé, mais il a changé et le responsable a supprimé la plupart des paquets pour xenial, y compris libpng12-0.


Alors voici comment j'ai réglé la situation:

  • Retirez le ppa en utilisant ppa-purge:

    Sudo ppa-purge ppa:otto-kesselgulasch/gimp
    
  • Rétrograder le package libpng12-0 à la version de mise en pension officielle:

    Sudo apt install libpng12-0=1.2.54-1ubuntu1.1
    
  • Installez libgdal-dev:

    Sudo apt install libgdal-dev
    

J'ai aussi remarqué que les paquets suivants sont aussi des restes de ce ppa:

libbabl-0.1-0
libgegl-0.3-0
liblcms2
libwebp6

Donc, j'ai aussi rétrogradé/enlevé ces:

Sudo apt install libbabl-0.1-0=0.1.16-1
Sudo apt install libgegl-0.3-0=0.3.4-1ubuntu2
Sudo apt install liblcms2-2=2.6-3ubuntu2
Sudo apt remove libwebp6 #no candidate from repos
2
pLumo