Điểm:0

PostGIS có sự phụ thuộc vào libgdal20 chưa được đáp ứng; biên dịch thủ công không thành công (18.04 LTS)

lá cờ vn

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!

N0rbert avatar
lá cờ zw
Có vấn đề gì xảy ra với PostGIS 2.4.3 từ [kho lưu trữ chính thức](https://packages.ubuntu.com/bionic/postgis)?
M2FKXY avatar
lá cờ vn
Nó yêu cầu libgdal20, xung đột với libgdal26 được cài đặt trên máy của tôi. Hạ cấp GDAL hoặc thực hiện cài đặt kép sẽ bị hỏng hoặc yêu cầu tôi xóa nhiều gói khác mà tôi chạy, theo những gì aptitude đề xuất cho tôi.
Điểm:0
lá cờ pe

Tôi đã gặp sự cố tương tự khi biên dịch PostGIS từ nguồn (nhưng trong Ubuntu 20.04). Giải pháp của tôi để giải quyết vấn đề liên kết (đối với một gói khác) được mô tả trong Câu trả lời của GIS.SE tại đây.

Có vẻ như Makefile trong PostGIS-3.1.0+ không bao gồm các tùy chọn liên kết cho một số gói tùy chỉnh, trong trường hợp của tôi địa lý:

Sự cố được khắc phục bằng cách chỉnh sửa trình tải/Makefile và sau đó nối thêm các tùy chọn liên kết GEOS sau

-L/opt/geos/lib -lgeos

đến dòng 25 trông giống như:

CFLAGS= -I ../liblwgeom -I/opt/geos/include ...

Nếu vấn đề của bạn giống nhau, thì hãy thêm các tùy chọn liên kết vào phần thích hợp Makefile (ngay sau khi ./configure ) có thể giải quyết vấn đề.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.