Încerc să instalez PostGIS peste PostgreSQL 13. Am deja un ecosistem GIS destul de instalat și rulez 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 install postgis postgresql-13-postgis-3
Citirea listelor de pachete... Gata
Construirea arborelui de dependență
Citirea informațiilor despre stare... Gata
Unele pachete nu au putut fi instalate. Acest lucru poate însemna că ai
a solicitat o situație imposibilă sau dacă utilizați instabil
distribuție că unele pachete necesare nu au fost încă create
sau a fost mutat din Incoming.
Următoarele informații pot ajuta la rezolvarea situației:
Următoarele pachete au dependențe neîndeplinite:
postgis: Depinde: libgdal20 (>= 2.0.1) dar nu va fi instalat
postgresql-13-postgis-3: Depinde: libgdal20 (>= 2.0.1) dar nu va fi instalat
E: Nu puteți corecta problemele, ați reținut pachete sparte.
Ciudat, având în vedere că PostGIS este promovat pentru a funcționa cel mai bine cu GDAL 3... dar bine, îl voi compila singur.
> 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
> make && dzdo make uninstall && dzdo make install
face nu reușește la construirea elementelor legate de raster2pgsql:
make[2]: se introduce în directorul „/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: 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 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: referință nedefinită la `_TIFFmemcpy@LIBTIFF_4.0'
/usr/lib/libgdal.so: referință nedefinită la `TIFFReadDirectory@LIBTIFF_4.0'
/usr/lib/libgdal.so: referință nedefinită la `TIFFClientdata@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libgeotiff.so.5: referință nedefinită la `_TIFFrealloc@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libgeotiff.so.5: referință nedefinită la `_TIFFmemset@LIBTIFF_4.0'
/usr/lib/libgdal.so: referință nedefinită la `TIFFLastDirectory@LIBTIFF_4.0'
(...) multe alte linii cu aceeași referință la @LIBTIFF_4.0
collect2: eroare: ld a returnat 1 stare de ieșire
Makefile:84: rețeta pentru țintă „raster2pgsql” a eșuat
make[2]: *** [raster2pgsql] Eroare 1
make[2]: Ieșim din directorul „/home/USER/postgis-3.1.4/raster/loader”
Makefile:35: rețeta pentru „rtloader” țintă a eșuat
make[1]: *** [rtloader] Eroare 2
make[1]: Ieșim din directorul „/home/USER/postgis-3.1.4/raster”
GNUmakefile:22: rețeta pentru „toate” țintă a eșuat
make: *** [toate] Eroare 1
Eroarea sugerează că lipsesc unele libtiff4. Cu toate acestea, când încercați să-l instalați:
> dzdo apt-get install libtiff4
E: Imposibil de localizat pachetul libtiff4
> dzdo apt-get install libtiff4-dev
Pachetul libtiff4-dev nu este disponibil, dar se referă la un alt pachet.
Acest lucru poate însemna că pachetul lipsește, a fost învechit sau
este disponibil numai din altă sursă
Cu toate acestea, următoarele pachete îl înlocuiesc:
libtiff5-dev:i386 libtiff5-dev
E: Pachetul „libtiff4-dev” nu are un candidat pentru instalare
> dzdo apt-get install libtiff5-dev
libtiff5-dev este deja cea mai nouă versiune (4.0.9-5).
libtiff pare a fi instalat, însă în versiunea sa 5. La examinarea posibilităţilor de instalare libgdal20 cu aptitudini, soluțiile propuse vor elimina multe dintre pachetele GIS pe care le folosesc, așa că aceasta nu este chiar o opțiune. Nu sunt sigur cum să procedez.. orice ajutor este apreciat!