Puncte:0

PostGIS are o dependență nesatisfăcută de libgdal20; compilarea manuală eșuează (18.04 LTS)

drapel vn

Î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!

N0rbert avatar
drapel zw
Ce a fost în neregulă cu PostGIS 2.4.3 din [depozitul oficial](https://packages.ubuntu.com/bionic/postgis)?
M2FKXY avatar
drapel vn
Necesită libgdal20, care este în conflict cu libgdal26 care este instalat pe mașina mea. Trecerea la GDAL sau efectuarea unei instalări duble ar rupe sau ar cere să elimin o mulțime de alte pachete pe care le rulez, în funcție de ceea ce îmi propune aptitude.
Puncte:0
drapel pe

Am întâlnit probleme similare la compilarea PostGIS din sursă (dar sub Ubuntu 20.04). Soluția mea pentru rezolvarea problemei de conectare (pentru un alt pachet) este descrisă în GIS.SE răspunde aici.

Se pare că Makefile din PostGIS-3.1.0+ nu a inclus opțiunile de link pentru unele pachete personalizate, în cazul meu geos:

Problema este rezolvată prin editare încărcător/Makefile și apoi adăugați următoarele opțiuni de link GEOS

-L/opt/geos/lib -lgeos

la linia 25 care arată astfel:

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

Dacă problema dvs. este aceeași, adăugați opțiuni de link în cazul corespunzător Makefile (imediat după ./configure ) poate rezolva problema.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.