Как установить postgresql-9.4-postgis-2.1 в Ubuntu 14.04(Trusty Tahr)?

Я получаю следующую ошибку при попытке установить postgres-9.4-postgis-2.1 в Ubuntu 14.04(Trusty Tahr):

Depends: libgdal1 (>= 1.9.0) but it is not installable

Я также пытался установить пакет через synaptic, но ничего. Я установил libgdal1-1.10.1-grass и libgdal1h, но ошибка не исчезла.

Хотя одно из возможных решений может состоять в том, чтобы установить libgdal1 из дерзкого репо, а не загружать его из верного, но что я должен сделать, чтобы загрузить его из дерзкого репо??

Также скажите мне, если есть какое-либо другое возможное решение. Спасибо!

6 ответов

Вы должны установить метапакет gdal (и почти все остальные FOSS4G) из Ubuntugis-unstable PPA:

sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable 
sudo apt-get update
sudo apt-get install postgres-9.4-postgis-2.1

Это решило это для меня. Мне нужно было обновить /etc/apt/sources.list.save и /etc/apt/sources.list.d/postgresql.list

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main

в

deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main

Этот парень, похоже, смог создать образ докера с вашими точными настройками (trusty & 9.4-2.1): https://hub.docker.com/r/kartoza/postgis/

Глядя на комментарии, он / она также столкнулся с проблемой libgdal1/libgdal1h и, похоже, решил ее:

https://github.com/kartoza/docker-postgis/blob/9.4-2.1/Dockerfile

Может быть, вы могли бы установить через Docker или выполнить точные шаги в этом файле Docker? Я обновлю свой ответ с точными шагами, если вы успешно с ними.

Добавить репозиторий к sources.list

Вам нужно будет заменить никнейм ниже тем, что вы используете. Заметьте, что слово "верный" следует заменить на любую версию состояния lsb

Помощник на http://www.postgresql.org/download/linux/ubuntu/

Для верных (14.04)

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt trusty-pgdg main" >> /etc/apt/sources.list'

Добавить ключи

wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add - обновление sudo apt-get

устанавливать

Далее будут установлены postgresql 9.5, PostGIS 2.2, PGAdmin3, pgRouting 2.1 и дополнительные поставляемые модули, включая расширение adminpack:

sudo apt-get установить postgresql-9.4-postgis-2.2

Наконец-то разобрался с проблемой; У меня был неправильный файл pgdg.list в /etc/apt/sources.list.d/ (кодовое название дистрибутива не соответствовало моей версии ubuntu). После удаления этого, делая apt-get update, он установлен правильно (либо из Ubuntugis, либо из основного репозитория Ubuntu, не уверен).

Если вы строите из исходного кода, вы можете избежать зависимости от gdal используя --without-raster вариант.

Это означает, что вы не можете использовать 'CREATE EXTENSION postgis;' ярлык. больше информации

Предварительные условия, которые я перечислил:

apt-get install libgeos-3.4.2 libgeos-dev libxml2-dev

wget http://download.osgeo.org/proj/proj-4.9.2.tar.gz
tar xfvz proj-4.9.2.tar.gz
cd proj-4.9.2
./configure
make && make install

PostGIS:

wget http://download.osgeo.org/postgis/source/postgis-2.1.8.tar.gz
tar xfvz postgis-2.1.8.tar.gz
cd postgis-2.1.8
./configure --with-pgconfig=/usr/lib/postgresql/9.4/bin/pg_config --without-raster
make && make install

Теперь для меня возникла проблема в том, что библиотека postgis не может видеть библиотеку proj, что видно из "not found" при выполнении ldd /usr/lib/postgresql/9.4/lib/postgis-2.1.soРешение состояло в том, чтобы мягко связать это:

ln /usr/local/lib/libproj.so.9.1.0 /usr/lib/libproj.so.9

Затем вы должны выполнить 'postgis.sql' для своей базы данных (и, возможно, других; см. Ссылку на шаги установки выше)

psql -d yourdatabase -f /usr/share/postgresql/9.4/contrib/postgis-2.1/postgis.sql
Другие вопросы по тегам