Я пытаюсь установить PostGIS поверх PostgreSQL 13. У меня уже есть достаточно развитая экосистема ГИС, и я запускаю GDAL 3.0.4.
> дпкг -л | grep gdal
II gdal-bin 3.0.4+dfsg-1~bionic0
ii gdal-data 3.0.4+dfsg-1~bionic0
II libgdal-dev 3.0.4+dfsg-1~bionic0
II libgdal26 3.0.4+dfsg-1~bionic0
ii python3-gdal 3.0.4+dfsg-1~bionic0
> dzdo apt-get установить postgis postgresql-13-postgis-3
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Не удалось установить некоторые пакеты. Это может означать, что у вас есть
запрошена невозможная ситуация или если вы используете нестабильную
дистрибутив, что некоторые необходимые пакеты еще не созданы
или был перемещен из входящих.
Следующая информация может помочь разрешить ситуацию:
Следующие пакеты имеют неудовлетворенные зависимости:
postgis : зависит: libgdal20 (>= 2.0.1), но он не будет установлен
postgresql-13-postgis-3 : Зависит: libgdal20 (>= 2.0.1), но не будет установлен
E: Невозможно исправить проблемы, у вас есть сломанные пакеты.
Странно, учитывая, что рекламируется, что PostGIS лучше всего работает с GDAL 3... но ладно, я сам его скомпилирую.
> wget https://download.osgeo.org/postgis/source/postgis-3.1.4.tar.gz
> tar xf postgis-3.1.4.tar.gz
> cd postgis-3.1.4
> ./configure --без protobuf
> make && dzdo make uninstall && dzdo make install
делать
не работает при построении элементов, связанных с raster2pgsql:
make[2]: Вход в каталог '/home/USER/postgis-3.1.4/raster/loader'
/bin/bash ../../libtool --mode=link gcc -std=gnu99 -g -O2 -fno-math-errno -fno-signed-zeros -fPIC -DPIC -I../rt_core -I. ./../liblwgeom -I/usr/include/gdal -I/home/USER/anaconda3/include ../rt_core/librtcore.a raster2pgsql.o -lm -static ../../liblwgeom/liblwgeom.la -L/usr/lib -lgdal -L/home/USER/anaconda3/lib -lgeos_c -lc -o raster2pgsql
libtool: ссылка: gcc -std=gnu99 -g -O2 -fno-math-errno -fno-signed-zeros -fPIC -DPIC -I../rt_core -I../../liblwgeom -I/usr/include /gdal -I/home/USER/anaconda3/include raster2pgsql.o -o raster2pgsql ../rt_core/librtcore.a ../../liblwgeom/.libs/liblwgeom.a -lm -L/home/USER/anaconda3 /lib -lproj -ljson-c -L/usr/lib -lgdal -lgeos_c -lc
//usr/lib/x86_64-linux-gnu/libgeotiff.so.5: неопределенная ссылка на `_TIFFmemcpy@LIBTIFF_4.0'
/usr/lib/libgdal.so: неопределенная ссылка на `TIFFReadDirectory@LIBTIFF_4.0'
/usr/lib/libgdal.so: неопределенная ссылка на `TIFFClientdata@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libgeotiff.so.5: неопределенная ссылка на `_TIFFrealloc@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libgeotiff.so.5: неопределенная ссылка на `_TIFFmemset@LIBTIFF_4.0'
/usr/lib/libgdal.so: неопределенная ссылка на `TIFFLastDirectory@LIBTIFF_4.0'
(...) многие другие строки с той же ссылкой на @LIBTIFF_4.0
collect2: ошибка: ld вернул 1 статус выхода
Makefile:84: рецепт для цели raster2pgsql не удался
make[2]: *** [raster2pgsql] Ошибка 1
make[2]: Выход из каталога '/home/USER/postgis-3.1.4/raster/loader'
Makefile:35: рецепт для целевого «rtloader» не удался
make[1]: *** [rtloader] Ошибка 2
make[1]: Выход из каталога '/home/USER/postgis-3.1.4/raster'
GNUmakefile:22: рецепт для цели «все» не удался
сделать: *** [все] Ошибка 1
Ошибка предполагает, что некоторые отсутствуют libtiff4
. Однако при попытке установить его:
> dzdo apt-get установить libtiff4
E: Не удалось найти пакет libtiff4
> dzdo apt-get установить libtiff4-dev
Пакет libtiff4-dev недоступен, но на него ссылается другой пакет.
Это может означать, что пакет отсутствует, устарел или
доступен только из другого источника
Однако следующие пакеты заменяют его:
libtiff5-dev:i386 libtiff5-dev
E: Пакет «libtiff4-dev» не имеет кандидата на установку.
> dzdo apt-get установить libtiff5-dev
libtiff5-dev уже самая новая версия (4.0.9-5).
либертифф
кажется, установлен, хотя в его версии 5. При рассмотрении возможности установки libgdal20
с способность
, предлагаемые решения удалят многие пакеты ГИС, которые я использую, так что это не совсем вариант. Я не уверен, как действовать. Любая помощь приветствуется!