Как установить 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