Zepsute pakiety i niezaspokojona instalacja QGIS, PostgreSQL i Postgis Ubuntu 14.04

15

Wiem, że może to być duplikat, ale walczę przez kilka dni. Zaktualizowałem QGIS z 2.8 do 2.18, a potem wszystko się psuje. Nie mogłem używać rozszerzenia PostGIS na pgadmin3.

Doszedłem do wniosku, że wystąpił konflikt z libgdal1h: jeśli jest zainstalowany, usuwa inne biblioteki używane przez PostGIS i odwrotnie.

Wypróbowałem kilka samouczków dotyczących instalacji QGIS, na przykład:

Jak uzyskać i zainstalować najnowszą wersję QGIS w Ubuntu?

Zainstaluj QGIS 2.14 Essen na Ubuntu 16.04 Xenial

Próbowałem każdej sugestii zgłoszonej online, na przykład:

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

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

Gdzie znaleźć wersję libgeos-c1 kompatybilną z libgeos-3.5.0?

Instalacja QGIS na Ubuntu 14.04 kończy się niepowodzeniem

Zawsze odpowiedź sudo apt-get install qgis python-qgisbrzmi:

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.

Usunąłem wszystkie pakiety i biblioteki, więc nie mam żadnej biblioteki związanej z Postgis, Postgres i QGIS za pomocą Menedżera pakietów Synaptic i wszystkich poleceń:

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

Ale problem nie został jeszcze rozwiązany.

Próbowałem usunąć z pliku repo Ubuntugis i / lub Debian /etc/apt/sources.list.

Nic.

I nie rozumiem dlaczego, korzystając z tego źródła http://qgis.org/ubuntugis/ nadal mam problemy dotyczące różnic.

Co powinienem zrobić?

Planuję sformatować laptopa, mając nadzieję, że pomoże mi to w uszkodzonych pakietach. W przypadku uszkodzonych pakietów próbowałem już:

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

ale nic nie naprawiono.

Glori P.
źródło
jakiej wersji Ubuntu używasz?
DPSSpatial
Mam zaufanego Ubuntu 14.04
Glori P.
Zamiast formatować komputer, wypróbuj maszynę wirtualną z czystą kopią systemu Ubuntu. Oszczędza dużo pracy związanej z przejściem i zawsze możesz cofnąć się.
AndreJ

Odpowiedzi:

7

Napotkałem podobne problemy podczas aktualizacji z QGIS 2.16 do 2.18.

Wypróbuj to obejście, które w końcu zadziałało dla mnie:

W komunikacie o błędzie poszukaj linii

Depends: ... but it is not installable

Przed zainstalowaniem qgis może być konieczne ręczne zainstalowanie tych pakietów jeden po drugim. Jeśli się zainstalują, spróbuj ponownie zainstalować QGIS, rozwiązując niektóre lub wszystkie zepsute zależności.

Może pomóc trzymać się repozytorium debian lub ubuntugis, ale unikaj instalowania pakietów z obu.

W moim przypadku to gdal zablokował prawidłową instalację QGIS.


AKTUALIZACJA od komentarzy

Wygląda na to, że konflikty wersji GDAL pozwalają uniknąć właściwej instalacji.

Według http://postgis.net/install/ masz trzy możliwości wyboru Postgis na Ubuntu:

To daje Postgis 2.2 skompilowany dla Postgres 9.3. Możesz pobrać QGIS 2.14.3 z tego samego repozytorium lub użyć http://qgis.org/ubuntugis dla QGIS 2.18.0 lub 2.14.8. Dzięki temu otrzymasz GDAL 2.1.0. To wydaje się obecnie najlepszym wyborem.

Ten, którego użyłeś, ale nie jest kompatybilny z QGIS od Ubuntugis.

Oferują Postgis 2.1.4, 2.2.2 i 2.3.0. Możesz także pobrać QGIS LTR lub użyć http://qgis.org/debian dla 2.18.0, skompilowanego z GDAL 1.10 dla zaufanego i GDAL 1.11.3 dla xenial.

Oferują Postgis 2.1.2 dla Postgres 9,3, zbudowany z libgdal1h (GDAL 1.10.1) dla zaufanego. Pakiet Xenial to Postgis 2.2.1 skompilowany z libgdal1i (GDAL 1.11.3). Jeśli zainstalujesz QGIS z http://qgis.org/debian lub http://qgis.org/debian-ltr , otrzymasz QGIS 2.18.0 lub 2.14.8 skompilowane z tymi samymi wersjami GDAL dla zaufanego i xenialowego.

Dostajesz zepsute zależności, jeśli próbujesz łączyć pakiety z różnych źródeł, więc NIE ROBIJ GO .

AndreJ
źródło
Mam też problemy z gdalem: z którego repozytorium korzystałeś przy instalacji tej biblioteki?
Glori P.
Mam Linux Mint i Ubuntu działające równolegle, używając niestabilnej ppa debian i ubuntugis. Można oglądać packages.debian.org/cgi-bin/... i launchpad.net/~ubuntugis/+archive/ubuntu/ubuntugis-unstable dla obecnych pakietach.
AndreJ
BTW repozytorium debian na Linux Mint 18 działa z GDAL 1.11.3, a Ubuntugis ppa na Ubuntu 16.04 z GDAL 2.1.0. Oba używają Xenial Dist Repo. Możesz uruchomić, apt list --installed | grep gdalaby zobaczyć, co jest zainstalowane na twoim komputerze.
AndreJ
Właśnie sprawdziłem QGIS LTR 2.14.5 na Linux Mint 17.3: repozytorium Ubuntu, niezawodna dystrybucja z niestabilnym ppa Ubuntugis działającym z GDAL 2.1.0. Aktualizacja do 2.14.8 wymaga zaktualizowania klucza i uruchomienia sudo apt-get install qgisręcznego po sudo apt-get updatei upgrade.
AndreJ
Więc lepiej nie używać ppa, ale tylko stabilne repozytorium wersji dostępne tutaj qgis.org/en/site/forusers/alldownloads.html#debian-ubuntu ? i czy lepiej byłoby zainstalować qgis z terminala, a nie z Synaptic Package Manager?
Glori P.,
14

Miałem podobny problem z instalacją qgis. W końcu zainstalowałem go za pomocą menedżera pakietów aptitude.

Spróbuj najpierw:

sudo apt-get updatepotem sudo apt-get -f install.

Jeśli to nie zadziała spróbuj wyższego poziomu menedżera pakietów aptitude .

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

Daje wiele takich rozwiązań i możesz je wybrać.

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.
Radża
źródło
3

Poniższe działało dla mnie na Ubuntu 16.04 i QGIS 2.18:

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

Następnie:

sudo apt update
sudo apt install qgis python-qgis 
Karlo Guidoni Martins
źródło
1

Myślę, że sztuczka polega na dodaniu obu ubuntugisi ubuntugis-unstabledodaniu ich do listy repozytoriów.

Następnie zainstalowałem gdal 2.1.0 (potrzebowałem wsparcia GeoPackage, więc nie wiem, czy jest to niezbędne), od tego momentu mogę całkiem szczęśliwie zainstalować postgis-2.2.2 i qgis 2.18.

Ian Turton
źródło
1
Aby to wyjaśnić, proponujesz http://qgis.org/ubuntugisi http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu. Obecnie trwają prace nad przeniesieniem niestabilnej zawartości ubuntugis do wersji stabilnej ubuntugis, więc przyszli użytkownicy mogą się z tym potknąć.
AndreJ
1

Jak sugerował @AndreJ, stworzyłem nową maszynę wirtualną całkowicie czystą. Pomyślnie zainstalowałem QGIS 2.14 i Postgresql 9.6.

Wszystkie kroki i komentarze są zgłaszane w tej treści:

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

Problem wydaje się być związany tylko z PostGis: próba zainstalowania tych pakietów:

libgdal1h
libgeos-c1
liblwgeom-2.3-0

jeden po drugim zainstalowany QGIS: wydaje się, że jest to problem z libgdal1h i libgdal1 (patrz konflikt libgdal1 i libgdal1h ) i pamiętam, że te 3 biblioteki doprowadziły mnie do początkowego konfliktu między qgis postgresql i postgis.

Znalazłem interesujące repo na ten temat:

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

Co powinienem zrobić, aby rozwiązać ten problem? co sugerujesz?

Glori P.
źródło
launchpad.net/~ubuntugis/+archive/ubuntu/ubuntugis-unstable/... posiada PostGIS 2.2 dostępne. Dlaczego wypróbowujesz wersję 2.3 i skąd?
AndreJ
czy to ten jeden: deb ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu zaufana główna? jeśli tak, użyłem tego do pobrania
Glori P.
Nie, spójrz pod swoją treść sudo apt-cache policy postgis. Jest pobierany z http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg/main amd64 Packages.
AndreJ
masz rację, nie polecam tego repozytorium i zrobiłem: sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable& sudo apt-get update& sudo apt-get install postgresql-9.3-postgis-2.2 . Ale wynik byłThe 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.
Ten pakiet wydaje się nadal niewłaściwy. W folderze ppa ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu/dists/… plik Packages.gz widzę: Version: 2.2.2+dfsg-2~trusty0i Depends: libc6 (>= 2.14), libgdal20 (>= 2.0.1).
AndreJ
1

Po odpowiedzi Andreja, która wspomina o konfliktach z różnych powtórzeń, usunąłem wiersze ze źródeł.list, deb http://qgis.org/możesz to zrobić za pomocą nano, czyli edytora uruchamianego na terminalu i pozostawiając tylko następujące wiersze deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu trusty main:

sudo nano /etc/apt/sources.list

to otwiera edytor, wystarczy usunąć wiersze qgis.org, wyjść przez „Ctrl + x” i zapisać; plik powinien wyglądać tak

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

wtedy sudo apt-get updateisudo apt-get install qgis

użytkownik3909910
źródło
Sposób ubuntugis już nie działa, ponieważ niestabilny ppa ubuntugis zrzucił wszystkie zaufane pakiety.
AndreJ
0

Planuję sformatować laptopa, mając nadzieję, że to pomoże mi z uszkodzonymi pakietami .. w przypadku uszkodzonych pakietów

... Jeśli jesteś gotowy posunąć się tak daleko, równie dobrze możesz spróbować zaktualizować system do najnowszej wersji Ubuntu LTS 16.04, która zawiera więcej repozytoriów aktualizacji dla wielu pakietów GIS. W 16.04 przetestowałem następujące elementy, aby bez problemu zaktualizować system do najnowszej wersji QGIS 2.18:

  1. usuń QGIS i usuń wszystkie istniejące wpisy związane z GIS w /etc/apt/sources.list

    sudo apt-get remove qgis --purge
    sudo apt-get autoremove --purge
  2. dodaj następujące dwa wiersze do /etc/apt/sources.list:

    deb http://qgis.org/debian xenial main
    deb-src http://qgis.org/debian xenial main
  3. dodaj repozytorium 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. zainstaluj QGIS:

    sudo apt-get update
    sudo apt-get install qgis
tinlyx
źródło
On nie używa Xenial. Używa 14.04 (zaufany)
Evan Carroll
@EvanCarroll OP wspomina także o Xenial.
tinlyx
tylko w odniesieniu do innego pytania, on nie używa xenial. Mówi ci wyraźnie, czego używa.
Evan Carroll
@EvanCarroll Ale tak nie jest only in reference to another question. Cytowanie OP I tried several tutorial about how to install QGIS ... Install QGIS 2.14 Essen on Ubuntu 16.04 Xenial.
tinlyx
@EvanCarroll Tak, mam Ubuntu 14.04. Postępowałem zgodnie z samouczkiem dla Xenial, zmieniając także referencje z Xenial na Trusty i próbując zainstalować wszystkie potrzebne oprogramowanie.
Glori P.
0

To bardzo proste ... pamiętaj, aby odkomentować repozytoria źródeł z listy źródeł. etc / apt / sources / sourcelists

Upewnij się, że komentujesz tylko opcję CDROM i pozostawiasz inne komentarze bez komentarza.

krzak
źródło
0

@ Odpowiedź Andreja jest nadal poprawna, ale tutaj jest podsumowana (i być może bardziej aktualna) wersja dla tych, którzy chcą po prostu zainstalować qgis2.18 z określoną gdalwersją:

Użyj / włącz tylko jedną z następujących ppas:

# 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

Objaśnienie: Jeśli oba ppas są włączone (na dzień dzisiejszy), Option Awybrane zostaną zależności związane z (ponieważ ma nieco bardziej zaktualizowaną wersję qgis 2.18), co bardzo utrudnia instalację gdal 2.x (która naprawdę musi być zrobione przez Option B). Nie jest łatwo uaktualnić bezpośrednio z jednej opcji do drugiej, ponieważ tak naprawdę reprezentują dwa raczej różne zestawy zależności, które wzajemnie się wykluczają.

prusswan
źródło
0

Spróbuj zainstalować przez flatpak

flatpak install --user https://flathub.org/repo/appstream/org.qgis.qgis.flatpakref
Márcio Rodrigues Silva
źródło