Tôi đang cố gắng cài đặt PostGIS trên PostgreSQL 13. Tôi đã có sẵn một hệ sinh thái GIS và chạy GDAL 3.0.4.
> dpkg -l | 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 cài đặt postgis postgresql-13-postgis-3
Đang đọc danh sách gói... Xong
Xây dựng cây phụ thuộc
Đang đọc thông tin trạng thái... Xong
Không thể cài đặt một số gói. Điều này có thể có nghĩa là bạn có
yêu cầu một tình huống không thể hoặc nếu bạn đang sử dụng không ổn định
phân phối mà một số gói bắt buộc chưa được tạo
hoặc đã được chuyển ra khỏi Incoming.
Thông tin sau đây có thể giúp giải quyết tình huống:
Các gói sau đây có các thuộc tính không được đáp ứng:
postgis: Phụ thuộc: libgdal20 (>= 2.0.1) nhưng nó sẽ không được cài đặt
postgresql-13-postgis-3 : Phụ thuộc: libgdal20 (>= 2.0.1) nhưng nó sẽ không được cài đặt
E: Không thể khắc phục sự cố, bạn đã giữ các gói hàng bị hỏng.
Điều kỳ lạ là PostGIS được quảng cáo là hoạt động tốt nhất với GDAL 3... nhưng tốt thôi, tôi sẽ tự biên dịch nó.
> 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 --without-protobuf
> thực hiện && dzdo thực hiện gỡ cài đặt && dzdo thực hiện cài đặt
chế tạo
không thành công khi xây dựng các phần tử liên quan đến raster2pgsql:
make[2]: Nhập thư mục '/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: liên kết: 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: tham chiếu không xác định tới `_TIFFmemcpy@LIBTIFF_4.0'
/usr/lib/libgdal.so: tham chiếu không xác định tới `TIFFReadDirectory@LIBTIFF_4.0'
/usr/lib/libgdal.so: tham chiếu không xác định tới `TIFFClientdata@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libgeotiff.so.5: tham chiếu không xác định đến `_TIFFrealloc@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libgeotiff.so.5: tham chiếu không xác định tới `_TIFFmemset@LIBTIFF_4.0'
/usr/lib/libgdal.so: tham chiếu không xác định tới `TIFFLastDirectory@LIBTIFF_4.0'
(...) nhiều dòng khác có cùng tham chiếu đến @LIBTIFF_4.0
coll2: lỗi: ld trả về 1 trạng thái thoát
Makefile:84: công thức cho mục tiêu 'raster2pgsql' không thành công
thực hiện [2]: *** [raster2pgsql] Lỗi 1
make[2]: Rời khỏi thư mục '/home/USER/postgis-3.1.4/raster/loader'
Makefile:35: công thức cho mục tiêu 'rtloader' không thành công
thực hiện [1]: *** [rtloader] Lỗi 2
make[1]: Rời khỏi thư mục '/home/USER/postgis-3.1.4/raster'
GNUmakefile:22: công thức cho mục tiêu 'tất cả' không thành công
thực hiện: *** [tất cả] Lỗi 1
Lỗi gợi ý một số thiếu libtiff4
. Tuy nhiên, khi cố gắng cài đặt nó:
> dzdo apt-get cài đặt libtiff4
E: Không thể định vị gói libtiff4
> dzdo apt-get cài đặt libtiff4-dev
Gói libtiff4-dev không khả dụng nhưng được tham chiếu bởi một gói khác.
Điều này có thể có nghĩa là gói bị thiếu, đã lỗi thời hoặc
chỉ có sẵn từ một nguồn khác
Tuy nhiên, các gói sau thay thế nó:
libtiff5-dev:i386 libtiff5-dev
E: Gói 'libtiff4-dev' không có ứng cử viên cài đặt
> dzdo apt-get cài đặt libtiff5-dev
libtiff5-dev đã là phiên bản mới nhất (4.0.9-5).
libtiff
dường như đã được cài đặt, trong phiên bản 5 của nó. Khi kiểm tra các khả năng cài đặt libgdal20
với năng khiếu
, các giải pháp được đề xuất sẽ loại bỏ rất nhiều gói GIS mà tôi đang sử dụng, vì vậy đây thực sự không phải là một tùy chọn. Tôi không chắc phải tiếp tục như thế nào.. mọi trợ giúp đều được đánh giá cao!