Postgis CREATE EXTENSION nie działa z/usr/lib/libgdal.so.1: undefined symbol: sqlite3_column_table


Problem:
postgres=# CREATE EXTENSION postgis;
LOG: statement: CREATE EXTENSION postgis;
ERROR: could not load library "/usr/lib/postgresql/9.5/lib/rtpostgis-2.3.so":/usr/lib/libgdal.so.1: undefined symbol: sqlite3_column_table_name`

Co ja zrobiłem:
  • Dodano oficjalne PPA Postgres -
             [url=http://apt.postgresql.org/pub/repos/apt]http://apt.postgresql.org/pub/repos/apt[/url] xenial-pgdg/main       
  • Zainstalowany Postgis -
             sudo apt-get install postgresql-9.5-postgis-2.3       
  • Usunąłem też
             libgdal       
    i jego zależności (
             sudo apt-get remove --purge libgdal1i       
    ), a następnie ponownie zainstalowany
             postgis       
    jak podano powyżej. Wciąż ten sam błąd.
  • Zainstalowałem czyste Ubuntu w VirtualBox i zainstalowałem tam i działało dobrze.

Wersje:
  • Ubuntu - Ubuntu 16.04.3 LTS
  • Postgres - 9.5.9-1.pgdg16.04 + 1
  • Postgis - 2.3.3 + dfsg-1.pgdg16.04 + 1
  • Libgdal - 1.11.3 + dfsg-3build2 (libgdal1i)

Nie mam pojęcia, jak dalej debugować.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

OK w końcu rozwiązało problem.

Główny powód

Postgres nie miał dostępu do
         libsqlite3.so
.

Debugowanie

Błąd dotyczy
         libgdal.so.1
ma problemy i jest z nim związany
         sqlite3
więc sprawdziłem zależności:
 ~ ldd/usr/lib/libgdal.so.1 | grep "sql"
libmysqlclient.so.20 =>/usr/lib/x86_64-linux-gnu/libmysqlclient.so.20 (0x00007fc80cd65000)
libsqlite3.so.0 =>/usr/local/lib/libsqlite3.so.0 (0x00007fc80825e000)

Co ciekawe, wszystkie zależności od
/usr/lib/...
ale
         libsqlite3.so.0
z
/usr/local/lib
... To sprawia, że ​​zastanawiam się, czy Postgres nie ma do nich dostępu
/usr/local/lib
i sprawiasz problemy?
Jak się wydaje, oficjalnie
         libsqlite
nie powinny być instalowane w
/usr/local/lib
ale
/usr/lib
gdzie faktycznie już istniał. Oddalony
/usr/local/lib
wersja i ponownie zainstalowałem cały pakiet postgis i zadziałało.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Usuń plik/usr/local/lib/libsqlite3.so.0.*, rozwiąż problem

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się