Зламані пакети та невстановлена ​​установка залежності 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-dependitions

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

Де знайти версію 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 Manager Package та всіма командами:

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

Відповіді:


7

У мене виникли подібні проблеми під час оновлення з 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.

Якщо ви намагаєтеся комбінувати пакети з різних джерел, ви не працюєте, тому НЕ робіть цього .


У мене також є проблеми з gdal: яке репо ви використовували для встановлення цієї бібліотеки?
Глорі П.

У мене паралельно працюють Linux Mint та Ubuntu, використовуючи нестабільні ppa для debian та ubuntugis. Ви можете дивитися packages.debian.org/cgi-bin / ... і launchpad.net/~ubuntugis/+archive/ubuntu/ubuntugis-unstable для поточних пакетів.
AndreJ

BTW debian repo на 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: Rebu Ubuntu, надійний дистрибутив з ubuntugis нестабільною ppa, що працює з 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?
Глорі П.

14

Я зіткнувся з подібною проблемою встановлення qgis. Нарешті я встановив його за допомогою менеджера пакетів можливостей.

Спробуйте спочатку:

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.


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 надійний головний? якщо це я, я використав цей для отримання
Глорі П.

Ні, загляньте в свою суть 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/з source.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


Спосіб ubuntugis більше не працює, оскільки нестабільний ppa ubuntugis скинув будь-які надійні пакети.
AndreJ

0

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

... Якщо ви готові піти так далеко, ви можете спробувати спочатку оновити до останнього Ubuntu LTS 16.04, який має більше сховищ оновлень для багатьох пакетів GIS. У 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

Він не використовує Xenial. Він використовує 14.04 (надійно)
Еван Керролл

@EvanCarroll ОП також згадує Xenial.
тинелікс

тільки стосовно іншого питання, він не використовує 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.
тинелікс

@EvanCarroll Так, у мене є Ubuntu 14.04. Я переглянув деякий підручник для Xenial, занадто змінивши посилання з Xenial на Trusty і спробував спосіб встановити всі необхідні програмні засоби.
Глорі П.

0

Це дуже просто ... переконайтеся, що ви відмежуєте сховища джерел зі списку джерел. тощо / apt / джерела / списки джерел

Переконайтеся, що ви коментуєте лише варіант CDROM і залишаєте інші списки без коментарів.


0

@ Відповідь AndreJ все ще правильна, але ось узагальнена (і, можливо, більш сучасна) версія для тих, хто просто хоче встановити qgis2.18 з конкретною gdalверсією:

Використовуйте / вмикайте лише один із наведених нижче пап:

# 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

Пояснення: Якщо ввімкнено обидва папи (станом на сьогодні), залежності, пов'язані з Option A будуть вибрані (оскільки у нього є трохи більш оновлена ​​версія qgis 2.18), що ускладнить установку gdal 2.x (що справді має бути зроблено через Option B). Нелегко перейти безпосередньо від одного варіанту до іншого, оскільки вони справді представляють два досить різні набори залежностей, які взаємно виключають.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.