Packages cassés et installation des dépendances non satisfaites QGIS, PostgreSQL et postgis Ubuntu 14.04


15

Je suis conscient que cela pourrait être un sujet en double, mais je me bats depuis plusieurs jours. J'ai mis à jour QGIS de 2.8 à 2.18 et après cela, tout est cassé. Je ne pouvais pas utiliser l'extension PostGIS sur pgadmin3.

J'ai compris qu'il y avait un conflit avec a libgdal1h: s'il est installé, il supprime les autres bibliothèques utilisées par PostGIS et vice versa.

J'ai essayé plusieurs tutoriels sur la façon d'installer QGIS, comme par exemple:

Comment obtenir et installer la dernière version de QGIS dans Ubuntu?

Installer QGIS 2.14 Essen sur Ubuntu 16.04 Xenial

J'ai essayé toutes les suggestions rapportées en ligne, comme par exemple:

/ubuntu/351899/qgis-quantum-gis-install-fails-unmet-dependencies

/ubuntu/621406/dist-upgrade-in-ubuntu-14-04-uninstalled-qgis-and-results-in-unmet-dependencies

Où trouver une version de libgeos-c1 compatible avec libgeos-3.5.0?

L'installation de QGIS sur Ubuntu 14.04 échoue

Toujours, la réponse de sudo apt-get install qgis python-qgisest:

The following packages have unmet dependencies:


python-qgis : Depends: python-qt4-sql but it is not installable
               Depends: python-qgis-common (= 1:2.14.8+20trusty-ubuntugis) but it is not going to be installed
               Depends: python-psycopg2 but it is not installable
               Depends: python-qscintilla2 but it is not installable
               Depends: python-jinja2 but it is not installable
               Depends: python-markupsafe but it is not installable
               Depends: python-pygments but it is not installable
               Depends: python-yaml but it is not installable
               Depends: python-pyspatialite but it is not installable
               Depends: libqgispython2.14.8 but it is not going to be installed
               Depends: libqgis-analysis2.14.8 but it is not going to be installed
               Depends: libqgis-core2.14.8 but it is not going to be installed
               Depends: libqgis-gui2.14.8 but it is not going to be installed
               Depends: libqgis-networkanalysis2.14.8 but it is not going to be installed
               Depends: libqgis-server2.14.8 but it is not going to be installed
               Recommends: liblwgeom-dev but it is not installable
 qgis : Depends: gdal-abi-2-1-0 but it is not installable
        Depends: libgdal20 (>= 2.0.1) but it is not installable
        Depends: libgeos-c1v5 (>= 3.4.2) but it is not installable
        Depends: libqgis-analysis2.14.8 but it is not going to be installed
        Depends: libqgis-app2.14.8 but it is not going to be installed
        Depends: libqgis-core2.14.8 but it is not going to be installed
        Depends: libqgis-gui2.14.8 but it is not going to be installed
        Depends: libqgis-networkanalysis2.14.8 but it is not going to be installed
        Depends: qgis-providers (= 1:2.14.8+20trusty-ubuntugis) but it is not going to be installed
        Depends: qgis-common (= 1:2.14.8+20trusty-ubuntugis) but it is not going to be installed
        Recommends: qgis-plugin-globe but it is not going to be installed
        Recommends: qgis-plugin-grass but it is not going to be installed
        Recommends: qgis-provider-grass but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

J'ai supprimé tous les packages et les bibliothèques, je n'ai donc aucune bibliothèque liée à postgis, postgres et QGIS avec Synaptic Package Manager et tout avec les commandes:

sudo apt-get purge qgis
sudo apt-get autoremove qgis
sudo apt-get --purge remove qgis
sudo apt-get update

Mais le problème n'est pas encore résolu.

J'ai essayé de supprimer le dépôt de Ubuntugis et / ou Debian sur le fichier /etc/apt/sources.list.

Rien.

Et je ne comprends pas pourquoi, en utilisant cette source http://qgis.org/ubuntugis/ j'ai toujours des problèmes de dipendences.

Que devrais-je faire?

Je prévois de formater mon ordinateur portable en espérant que cela m'aidera avec les paquets cassés .. pour les paquets cassés, j'ai déjà essayé:

sudo apt-get update fix-missing
sudo apt-get install -f

mais rien de fixe.


quelle version d'Ubuntu utilisez-vous?
DPSSpatial

J'ai Ubuntu 14.04 fidèle
Glori P.

Au lieu de formater votre PC, essayez une machine virtuelle avec une copie propre d'Ubuntu. Vous fait économiser beaucoup de travail de transition et vous pouvez toujours prendre du recul.
AndreJ

Réponses:


6

J'ai rencontré des problèmes similaires lors de la mise à jour de QGIS 2.16 vers 2.18.

Essayez cette solution de contournement, qui a finalement fonctionné pour moi:

Dans le message d'erreur, recherchez les lignes

Depends: ... but it is not installable

Avant d'installer qgis, vous devrez peut-être installer ces packages manuellement un par un. S'ils s'installent, essayez à nouveau d'installer QGIS, avec certaines ou toutes les dépendances cassées résolues.

Il peut être utile de s'en tenir au référentiel debian ou ubuntugis, mais évitez d'installer les paquets des deux.

Dans mon cas, c'est gdal qui a bloqué la bonne installation de QGIS.


MISE À JOUR des commentaires

Il semble que les conflits de version de GDAL évitent une installation correcte.

Selon http://postgis.net/install/, vous avez trois choix pour Postgis sur Ubuntu:

Cela vous donne postgis 2.2 compilé pour Postgres 9.3. Vous pouvez obtenir QGIS 2.14.3 à partir du même référentiel ou utiliser http://qgis.org/ubuntugis pour QGIS 2.18.0 ou 2.14.8. Vous obtiendrez GDAL 2.1.0 avec cela. Cela semble être le meilleur choix actuellement.

Celui que vous avez utilisé, mais qui n'est pas compatible avec QGIS d'Ubuntugis.

Ils proposent Postgis 2.1.4, 2.2.2 et 2.3.0. Vous pouvez également obtenir QGIS LTR à partir de là, ou utiliser http://qgis.org/debian pour 2.18.0, compilé avec GDAL 1.10 pour trusty et GDAL 1.11.3 pour xenial.

Ils offrent Postgis 2.1.2 pour Postgres 9,3, construit avec libgdal1h (GDAL 1.10.1) pour fidèle. Le paquet xenial est Postgis 2.2.1 compilé avec libgdal1i (GDAL 1.11.3). Si vous installez QGIS depuis http://qgis.org/debian ou http://qgis.org/debian-ltr , vous obtenez QGIS 2.18.0 ou 2.14.8 compilé avec les mêmes versions GDAL pour trusty et xenial.

Vous obtenez des dépendances brisées si vous essayez de combiner des packages provenant de différentes sources, alors NE LE FAITES PAS .


J'ai aussi des problèmes avec gdal: quel dépôt avez-vous utilisé pour installer cette bibliothèque?
Glori P.

J'ai Linux Mint et Ubuntu fonctionnant en parallèle, en utilisant Debian et Ubuntugis PPA instable. Vous pouvez regarder packages.debian.org/cgi-bin/… et launchpad.net/~ubuntugis/+archive/ubuntu/ubuntugis-unstable pour les packages actuels.
AndreJ

BTW debian repo sur Linux Mint 18 fonctionne avec GDAL 1.11.3, et ubuntugis ppa sur Ubuntu 16.04 avec GDAL 2.1.0. Les deux utilisent le repo dist xenial. Vous pouvez exécuter apt list --installed | grep gdalpour voir ce qui est installé sur votre ordinateur.
AndreJ

Je viens de vérifier QGIS LTR 2.14.5 sur Linux Mint 17.3: repo Ubuntu, distribution fidèle avec Ubuntugis ppa instable fonctionnant avec GDAL 2.1.0. La mise à jour vers 2.14.8 nécessite de mettre à jour la clé et de s'exécuter sudo apt-get install qgismanuellement après sudo apt-get updateet upgrade.
AndreJ

Il serait donc préférable de ne pas utiliser le ppa mais uniquement les dépôts de version stable disponibles ici qgis.org/en/site/forusers/alldownloads.html#debian-ubuntu ? et il vaudrait mieux installer qgis depuis le terminal et non depuis Synaptic Package Manager?
Glori P.

13

J'avais rencontré un problème similaire lors de l'installation de qgis. Je l'ai finalement installé à l'aide du gestionnaire de paquets aptitude.

Essayez ceci en premier:

sudo apt-get updatealors sudo apt-get -f install.

Si cela ne fonctionne pas, essayez l' aptitude du gestionnaire de paquets de niveau supérieur .

sudo aptitude install qgis python-qgis qgis-plugin-grass

Il propose plusieurs solutions comme celle-ci et vous pouvez en sélectionner une.

Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

      Downgrade the following packages:                                                                    
1)      libqt4-declarative [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]
2)      libqt4-network [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]    
3)      libqt4-opengl [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]     
4)      libqt4-script [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]     
5)      libqt4-sql [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]        
6)      libqt4-sql-sqlite [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)] 
7)      libqt4-svg [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]        
8)      libqt4-xml [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]        
9)      libqt4-xmlpatterns [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]
10)     libqtcore4 [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]        
11)     libqtdbus4 [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]        
12)     libqtgui4 [4:4.8.7+dfsg-7ubuntu1~xenialoverlay1~1 (now) -> 4:4.8.7+dfsg-5ubuntu2 (xenial)]         


Accept this solution? [Y/n/q/?] y
The following packages will be DOWNGRADED:
  libqt4-declarative libqt4-network libqt4-opengl libqt4-script libqt4-sql libqt4-sql-sqlite libqt4-svg libqt4-xml libqt4-xmlpatterns libqtcore4 libqtdbus4 libqtgui4 
The following NEW packages will be installed:
  libdrm-dev{a} libfcgi0ldbl{a} libgl1-mesa-dev{a} libglade2-0{a} libglu1-mesa-dev{a} libjs-jquery-ui{a} libjs-leaflet{a} liblwgeom-dev{a} libqca2{a} libqca2-plugin-ossl{a} libqca2-plugins{a} 
  libqgis-analysis2.18.3{a} libqgis-app2.18.3{a} libqgis-core2.18.3{a} libqgis-customwidgets{a} libqgis-gui2.18.3{a} libqgis-networkanalysis2.18.3{a} libqgis-server2.18.3{a} libqgisgrass7-2.18.3{a} 
  libqgispython2.18.3{a} libqjson0{a} libqt4-dbus{a} libqt4-designer{a} libqt4-dev{a} libqt4-dev-bin{a} libqt4-help{a} libqt4-opengl-dev{a} libqt4-qt3support{a} libqt4-scripttools{a} libqt4-test{a} 
  libqtassistantclient4{a} libqwt5-qt4{a} libspatialindex4v5{a} libx11-xcb-dev{a} libxcb-dri2-0-dev{a} libxcb-dri3-dev{a} libxcb-glx0-dev{a} libxcb-present-dev{a} libxcb-randr0-dev{a} libxcb-render0-dev{a} 
  libxcb-shape0-dev{a} libxcb-sync-dev{a} libxcb-xfixes0-dev{a} libxdamage-dev{a} libxext-dev{a} libxfixes-dev{a} libxshmfence-dev{a} libxxf86vm-dev{a} mesa-common-dev{a} python-cycler{a} python-dateutil{a} 
  python-future{a} python-gdal{a} python-glade2{a} python-httplib2{a} python-jinja2{a} python-markupsafe{a} python-matplotlib{a} python-matplotlib-data{a} python-pygments{a} python-pyparsing{a} 
  python-pyspatialite{a} python-qgis python-qgis-common{a} python-qscintilla2{a} python-qt4{a} python-qt4-sql{a} python-shapely{a} python-sip{a} python-tz{a} python-yaml{a} qdbus{a} qgis qgis-common{a} 
  qgis-plugin-grass qgis-plugin-grass-common{a} qgis-provider-grass{a} qgis-providers{a} qgis-providers-common{a} qt4-designer{a} qt4-linguist-tools{a} qt4-qmake{a} x11proto-damage-dev{a} 
  x11proto-dri2-dev{a} x11proto-fixes-dev{a} x11proto-gl-dev{a} x11proto-xext-dev{a} x11proto-xf86vidmode-dev{a} 
The following packages are RECOMMENDED but will NOT be installed:
  qt-at-spi 
0 packages upgraded, 88 newly installed, 12 downgraded, 0 to remove and 57 not upgraded.

3

Les éléments suivants ont fonctionné pour moi sur Ubuntu 16.04 et QGIS 2.18:

sudo apt remove *qgis*
sudo apt purge *qgis*

Alors:

sudo apt update
sudo apt install qgis python-qgis 

1

Je pense que l'astuce consiste à avoir les deux ubuntugiset à les ubuntugis-unstableajouter à votre liste de référentiels.

J'ai ensuite installé gdal 2.1.0 (j'avais besoin du support GeoPackage, donc je ne sais pas si c'est essentiel), à partir de ce point de départ, je peux installer postgis-2.2.2 et qgis 2.18 avec beaucoup de bonheur.


1
Juste pour clarifier, vous proposez http://qgis.org/ubuntugiset http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu. Il y a actuellement un peu de travail pour déplacer le contenu instable d'ubuntugis vers ubuntugis stable, donc les futurs utilisateurs peuvent trébucher dessus.
AndreJ

1

Comme l'a suggéré @AndreJ, j'ai créé une nouvelle machine virtuelle complètement propre. J'ai réussi à installer QGIS 2.14 et Postgresql 9.6.

Toutes les étapes et les commentaires sont rapportés sur cet essentiel:

https://gist.github.com/GloryPassarello/dc23d443434a5221f0f981813a622e0c

Le problème semble être lié uniquement à PostGis: essayer d'installer ces packages:

libgdal1h
libgeos-c1
liblwgeom-2.3-0

un par un QGIS non installé: il semble que ce soit un problème avec libgdal1h et libgdal1 (voir conflit libgdal1 et libgdal1h ) et je me souviens que ces 3 bibliothèques m'ont amené au conflit initial entre qgis postgresql et postgis.

J'ai trouvé un repo intéressant à ce sujet:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839182

Que dois-je faire pour résoudre ce problème? que suggérez-vous?


launchpad.net/~ubuntugis/+archive/ubuntu/ubuntugis-unstable/… a postgis 2.2 disponible. Pourquoi essayez-vous la version 2.3 et d'où?
AndreJ

est-ce celui-là: deb ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu trusty main? si c'est le cas, je l'ai utilisé pour aller chercher
Glori P.

Non, regardez sous votre esprit sudo apt-cache policy postgis. Il est tiré de http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg/main amd64 Packages.
AndreJ

vous avez raison, je décommets ce repo et je l'ai fait: sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable& sudo apt-get update& sudo apt-get install postgresql-9.3-postgis-2.2 . Mais la sortie étaitThe following packages have unmet dependencies: postgresql-9.3-postgis-2.2 : Depends: libgdal1h (>= 1.9.0) but it is not going to be installed Depends: libgeos-c1 (>= 3.4.2) but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Glori P.

Ce paquet semble toujours être le mauvais. Dans le dossier ppa ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu/dists/… Packages.gz fichier je vois: Version: 2.2.2+dfsg-2~trusty0et Depends: libc6 (>= 2.14), libgdal20 (>= 2.0.1).
AndreJ

1

Suite à la réponse d'AndreJ, qui mentionne les conflits de différents représentants, j'ai supprimé les lignes deb http://qgis.org/de sources.list, vous pouvez le faire via nano, qui est un éditeur que vous exécutez sur le terminal, et ne laisser que les lignes suivantes deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu trusty main:

sudo nano /etc/apt/sources.list

cela ouvre l'éditeur, supprimez simplement les lignes qgis.org, quittez par "Ctrl + x" et enregistrez; le fichier devrait ressembler à ceci

#deb cdrom:[Linux Mint 17.1 _Rebecca_ - Release i386 20141126]/ trusty contrib $
deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu trusty main

alors sudo apt-get updateetsudo apt-get install qgis


La méthode ubuntugis ne fonctionne plus, car le ppa instable ubuntugis a supprimé tous les paquets fiables.
AndreJ

0

Je prévois de formater mon ordinateur portable en espérant que cela m'aidera avec les paquets cassés .. pour les paquets cassés

... Si vous êtes prêt à aller aussi loin, vous pourriez tout aussi bien essayer de passer d'abord à la dernière version d'Ubuntu LTS 16.04, qui a plus de référentiels de mise à jour pour de nombreux packages SIG. En 16.04, j'ai testé les éléments suivants pour mettre à niveau vers la dernière version de QGIS 2.18 sans problème:

  1. supprimer QGIS et supprimer tout élément existant lié au SIG dans /etc/apt/sources.list

    sudo apt-get remove qgis --purge
    sudo apt-get autoremove --purge
  2. ajoutez les deux lignes suivantes à /etc/apt/sources.list:

    deb http://qgis.org/debian xenial main
    deb-src http://qgis.org/debian xenial main
  3. ajouter un référentiel QGIS

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 073D307A618E5811
    #note, 073D307A618E5811 is the public key for the specific qgis repo here.
    sudo apt-add-repository add  http://qgis.org/debian
    #note, may require `sudo apt-get install software-properties-common` first
  4. installer QGIS:

    sudo apt-get update
    sudo apt-get install qgis

Il n'utilise pas Xenial. Il utilise 14.04 (fidèle)
Evan Carroll

@EvanCarroll L'OP mentionne également Xenial.
tinlyx

seulement en référence à une autre question, il n'utilise pas xenial. Il vous dit explicitement ce qu'il utilise.
Evan Carroll

@EvanCarroll Mais ce n'est pas le cas only in reference to another question . Citant l'OP, I tried several tutorial about how to install QGIS ... Install QGIS 2.14 Essen on Ubuntu 16.04 Xenial.
tinlyx

@EvanCarroll Oui, j'ai Ubuntu 14.04. J'ai également suivi un tutoriel pour Xenial en changeant la référence de Xenial en Trusty et en essayant un moyen d'installer tous les logiciels dont j'avais besoin.
Glori P.

0

C'est très simple ... assurez-vous de ne pas commenter les référentiels de sources de la liste des sources. etc / apt / sources / sourcelists

Assurez-vous de ne commenter que l'option CD-ROM uniquement et de laisser les autres listes non commentées.


0

La réponse de @ AndreJ est toujours correcte, mais voici une version résumée (et peut-être plus récente) pour ceux qui veulent simplement installer qgis2.18 avec une gdalversion spécifique :

Utilisez / activez uniquement l'un des ppas suivants:

# Option A: contains qgis 2.18.25 but locks you to gdal 1.x
deb http://qgis.org/ubuntu-ltr trusty main

# Option B: contains qgis 2.18.16 and gdal 2.2 - this is probably what most people are looking for
deb http://qgis.org/ubuntugis trusty main

Explication: Si les deux ppas sont activés (à partir d'aujourd'hui), les dépendances associées à Option Aseront sélectionnées (car il possède la version légèrement plus mise à jour de qgis 2.18), ce qui rend très difficile l'installation de gdal 2.x (qui doit vraiment être fait via Option B). Il n'est pas facile de passer directement d'une option à l'autre car ils représentent en réalité deux ensembles de dépendances assez différents qui s'excluent mutuellement.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.