Разбитые пакеты и неудовлетворенные зависимости установки QGIS, PostgreSQL и postgis Ubuntu 14.04

15

Я знаю, что это может быть повторяющейся темой, но я борюсь в течение нескольких дней. Я обновил QGIS с 2.8 до 2.18 и после этого все сломалось. Я не мог использовать расширение PostGIS на pgadmin3.

Я выяснил, что возник конфликт с libgdal1h: если он установлен, он удаляет другие библиотеки, используемые PostGIS, и наоборот.

Я пробовал несколько уроков о том, как установить QGIS, например:

Как мне получить и установить последнюю версию QGIS в Ubuntu?

Установите QGIS 2.14 Essen на Ubuntu 16.04 Xenial

Я перепробовал каждое предложение, о котором сообщалось, например:

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

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

Где найти версию libgeos-c1, совместимую с libgeos-3.5.0?

Сбой установки QGIS в Ubuntu 14.04

Ответ всегда таков sudo apt-get install qgis python-qgis:

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.

Я удалил все пакеты и библиотеки, поэтому у меня нет какой-либо библиотеки, связанной с postgis, postgres и QGIS, с помощью Synaptic Package Manager и всех команд:

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

Но проблема еще не решена.

Я попытался удалить репозиторий Ubuntugis и / или Debian на файл /etc/apt/sources.list.

Ничего.

И я не понимаю, почему, используя этот источник http://qgis.org/ubuntugis/, у меня все еще есть проблемы, связанные с различиями.

Что я должен делать?

Я планирую отформатировать свой ноутбук, надеясь, что это поможет мне с испорченными пакетами .. для испорченных пакетов я уже пробовал:

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

но ничего не исправлено.

Глори П.
источник
какую версию Ubuntu вы используете?
DPSSpatial
У меня Ubuntu 14.04 верная
Глори П.
Вместо того, чтобы форматировать ваш компьютер, попробуйте виртуальную машину с чистой копией Ubuntu. Сохраняет вас много переходной работы, и вы всегда можете сделать шаг назад.
AndreJ

Ответы:

6

Я столкнулся с аналогичными проблемами при обновлении с QGIS 2.16 до 2.18.

Попробуйте этот обходной путь, который наконец-то сработал для меня:

В сообщении об ошибке обратите внимание на строки

Depends: ... but it is not installable

Перед установкой qgis вам может потребоваться установить эти пакеты вручную один за другим. Если они установятся, попробуйте еще раз установить QGIS с устранением некоторых или всех сломанных зависимостей.

Это может помочь придерживаться репозитория Debian или Ubuntugis, но избегайте установки пакетов из обоих.

В моем случае именно gdal заблокировал правильную установку QGIS.


ОБНОВЛЕНИЕ из комментариев

Кажется, что конфликты версий GDAL избегают правильной установки.

Согласно http://postgis.net/install/ у вас есть три варианта Postgis в Ubuntu:

Это дает вам postgis 2.2, скомпилированную для Postgres 9.3. Вы можете получить QGIS 2.14.3 из того же репо или использовать http://qgis.org/ubuntugis для QGIS 2.18.0 или 2.14.8. Вы получите GDAL 2.1.0 с этим. Это, кажется, лучший выбор в настоящее время.

Тот, который вы использовали, но не совместим с QGIS от Ubuntugis.

Они предлагают Postgis 2.1.4, 2.2.2 и 2.3.0. Вы также можете получить QGIS LTR или использовать http://qgis.org/debian для 2.18.0, скомпилированный с GDAL 1.10 для верных и GDAL 1.11.3 для xenial.

Они предлагают Postgis 2.1.2 для Postgres 9,3, построенный с libgdal1h (GDAL 1.10.1) для верных. Пакет xenial - это Postgis 2.2.1, скомпилированный с libgdal1i (GDAL 1.11.3). Если вы устанавливаете QGIS с http://qgis.org/debian или http://qgis.org/debian-ltr , вы получаете QGIS 2.18.0 или 2.14.8, скомпилированные с теми же версиями GDAL для верных и xenial.

Вы получите нарушенные зависимости, если попытаетесь объединить пакеты из разных источников, поэтому НЕ ДЕЛАЙТЕ ЭТОГО .

Andrej
источник
У меня тоже проблемы с gdal: какой репозиторий вы использовали для установки этой библиотеки?
Глори П.
У меня Linux Mint и Ubuntu работают параллельно, используя Debian и Ubuntugis нестабильного ppa. Вы можете посмотреть packages.debian.org/cgi-bin/… и launchpad.net/~ubuntugis/+archive/ubuntu/ubuntugis-unstable для текущих пакетов.
AndreJ
Кстати, репозиторий Debian в Linux Mint 18 работает с GDAL 1.11.3 и ubuntugis ppa на Ubuntu 16.04 с GDAL 2.1.0. Оба используют xenial dist repo. Вы можете запустить, apt list --installed | grep gdalчтобы увидеть, что установлено на вашем компьютере.
AndreJ
Только что проверил QGIS LTR 2.14.5 в Linux Mint 17.3: репозиторий Ubuntu, надежный дистрибутив с нестабильным ppa ubuntugis, работающим с GDAL 2.1.0. Обновление до 2.14.8 требует обновления ключа и запуска sudo apt-get install qgisвручную после sudo apt-get updateи upgrade.
AndreJ
Так что было бы лучше не использовать ppa, а только стабильные версии репозиториев, доступные здесь qgis.org/en/site/forusers/alldownloads.html#debian-ubuntu ? и было бы лучше установить qgis из терминала, а не из Synaptic Package Manager?
Глори П.
13

Я столкнулся с подобной проблемой при установке qgis. Я наконец установил его с помощью менеджера пакетов aptitude.

Попробуйте это сначала:

sudo apt-get updateтогда sudo apt-get -f install.

Если это не работает , попробуйте более высокий уровень пакета менеджер способностей .

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

Это дает несколько решений, как это, и вы можете выбрать одно.

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

У меня на Ubuntu 16.04 и QGIS 2.18 сработало следующее:

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

Потом:

sudo apt update
sudo apt install qgis python-qgis 
Карло Гвидони Мартинс
источник
1

Я думаю, хитрость заключается в том, чтобы иметь и то, ubuntugisи другое ubuntugis-unstableв вашем списке репозиториев.

Затем я установил gdal 2.1.0 (мне нужна была поддержка GeoPackage, так что я не знаю, является ли это необходимым), с этого момента я могу довольно успешно установить postgis-2.2.2 и qgis 2.18.

Ян Тертон
источник
1
Просто чтобы уточнить, вы предлагаете http://qgis.org/ubuntugisи http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu. В настоящее время проводится работа по переносу нестабильного контента Ubuntugis в стабильный Ubuntugis, поэтому будущие пользователи могут наткнуться на это.
AndreJ
1

Как предложил @AndreJ, я создал новую Виртуальную машину полностью чистой. Я успешно установил QGIS 2.14 и Postgresql 9.6.

Все шаги и комментарии приведены в этой сути:

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

Кажется, проблема связана только с PostGis: при попытке установить эти пакеты:

libgdal1h
libgeos-c1
liblwgeom-2.3-0

одна за другой неискаженный QGIS: кажется, это проблема с libgdal1h и libgdal1 (см. конфликт libgdal1 и libgdal1h ), и я помню, что эти 3 библиотеки привели меня к первоначальному конфликту между qgis postgresql и postgis.

Я нашел интересный репо об этом:

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

Что я должен сделать, чтобы решить эту проблему? что ты посоветуешь?

Глори П.
источник
launchpad.net/~ubuntugis/+archive/ubuntu/ubuntugis-unstable/… имеет доступный постгис 2.2. Почему вы пробуете версию 2.3 и откуда?
AndreJ
это один: deb ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu trusty main? если это я использовал это для получения
Глори П.
Нет, загляните в свою суть sudo apt-cache policy postgis. Это взято из http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg/main amd64 Packages.
AndreJ
Вы правы, я отказался от репо, и я сделал: sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable& sudo apt-get update& sudo apt-get install postgresql-9.3-postgis-2.2 . Но выходной был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.
Глори П.
Этот пакет, кажется, все еще не тот. В папке ppa ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu/dists/… Packages.gz файл, который я вижу: Version: 2.2.2+dfsg-2~trusty0и Depends: libc6 (>= 2.14), libgdal20 (>= 2.0.1).
AndreJ
1

После ответа от AndreJ, в котором упоминаются конфликты разных представителей, я удалил строки deb http://qgis.org/из sources.list, вы можете сделать это через nano, редактор, который вы запускаете на терминале, и оставить только следующие строки deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu trusty main:

sudo nano /etc/apt/sources.list

откроется редактор, просто удалите строки qgis.org, выйдите через «Ctrl + x» и сохраните; файл должен выглядеть так

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

тогда sudo apt-get updateиsudo apt-get install qgis

user3909910
источник
Способ ubuntugis больше не работает, потому что нестабильный ppa ubuntugis отбросил все верные пакеты.
AndreJ
0

Я планирую отформатировать свой ноутбук, надеясь, что это поможет мне с испорченными пакетами .. для испорченных пакетов

... Если вы готовы пойти так далеко, вы также можете сначала попытаться обновить систему до последней версии Ubuntu LTS 16.04, в которой есть больше хранилищ обновлений для многих пакетов ГИС. В 16.04 я протестировал следующее для обновления до последней версии QGIS 2.18 без проблем:

  1. удалить QGIS и удалить все существующие записи, связанные с ГИС, в /etc/apt/sources.list

    sudo apt-get remove qgis --purge
    sudo apt-get autoremove --purge
  2. Добавьте следующие две строки /etc/apt/sources.list:

    deb http://qgis.org/debian xenial main
    deb-src http://qgis.org/debian xenial main
  3. добавить репозиторий 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. установить QGIS:

    sudo apt-get update
    sudo apt-get install qgis
tinlyx
источник
Он не использует Xenial. Он использует 14.04 (верный)
Эван Кэрролл
@EvanCarroll ОП также упоминает Xenial.
tinlyx
только в связи с другим вопросом, он не использует xenial. Он говорит вам явно, что он использует.
Эван Кэрролл
@EvanCarroll Но это не так only in reference to another question . Цитируя ОП I tried several tutorial about how to install QGIS ... Install QGIS 2.14 Essen on Ubuntu 16.04 Xenial.
tinlyx
@EvanCarroll Да, у меня есть Ubuntu 14.04. Я следовал некоторому руководству по Xenial, тоже изменив ссылку с Xenial на Trusty и попробовав установить все необходимое программное обеспечение.
Глори П.
0

Это очень просто ... убедитесь, что вы раскомментировали репозитории исходников из списка источников. и т.д. / APT / источники / sourcelists

Убедитесь, что вы только комментируете только параметр CDROM и оставляете другие списки без комментариев.

куст
источник
0

@ AndreJ ответ по-прежнему правильный, но вот краткая (и, возможно, более свежая) версия для тех, кто просто хочет установить qgis2.18 с определенной gdalверсией:

Используйте / включите только один из следующих 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

Объяснение: Если оба ppas включены (на сегодняшний день), Option Aбудут выбраны зависимости, связанные с (так как у него есть немного более обновленная версия qgis 2.18), что делает очень трудным установить gdal 2.x (который действительно должен быть сделано через Option B). Непросто перейти непосредственно с одного варианта на другой, поскольку они действительно представляют два довольно разных набора взаимоисключающих зависимостей.

prusswan
источник
0

Попробуйте установить через flatpak

flatpak install --user https://flathub.org/repo/appstream/org.qgis.qgis.flatpakref
Марсио Родригес Сильва
источник