Postgis-2.4.so konnte nicht geladen werden "undefined symbol: Float8GetDatum"

1945
denaje

Gerade ein Upgrade auf PostgreSQL 10.1 unter Arch Linux. Ich habe eine neue neue Datenbank erstellt und versuche, Postgis zu installieren, aber es gibt folgende Fehlermeldung:

local=# create extension postgis; ERROR: could not load library "/usr/lib/postgresql/postgis-2.4.so": /usr/lib/postgresql/postgis-2.4.so: undefined symbol: Float8GetDatum 

ldd Ausgabe:

$ ldd /usr/lib/postgresql/postgis-2.4.so  linux-vdso.so.1 (0x00007ffec6f4d000) libgeos_c.so.1 => /usr/lib/libgeos_c.so.1 (0x00007f6e00788000) libproj.so.12 => /usr/lib/libproj.so.12 (0x00007f6e0051e000) libjson-c.so.2 => /usr/lib/libjson-c.so.2 (0x00007f6e00313000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f6dfffad000) libm.so.6 => /usr/lib/libm.so.6 (0x00007f6dffc61000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f6dff8a9000) libgeos-3.6.2.so => /usr/lib/libgeos-3.6.2.so (0x00007f6dff4fc000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f6dff175000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f6dfef5e000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f6dfed40000) libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f6dfeb3c000) libicuuc.so.59 => /usr/lib/libicuuc.so.59 (0x00007f6dfe78c000) libz.so.1 => /usr/lib/libz.so.1 (0x00007f6dfe575000) liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f6dfe34f000) /usr/lib64/ld-linux-x86-64.so.2 (0x00007f6e00c6b000) libicudata.so.59 => /usr/lib/libicudata.so.59 (0x00007f6dfc83c000) 

Soweit ich es verstehe, bedeutet "undefiniertes Symbol", dass einige Bibliotheken inkompatibel sind. Ich habe jedoch keine Pakete ignoriert pacman.conf, daher bin ich mir nicht sicher, woher die Inkompatibilität kommen würde.

Edit: ld -vAusgabe:

$ ld -v /usr/lib/postgresql/postgis-2.4.so GNU ld (GNU Binutils) 2.29.1 ld: warning: cannot find entry symbol _start; not setting start address /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_palloc' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `WinGetPartitionLocalMemory' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `DirectFunctionCall3Coll' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `numeric_int4' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `DatumGetFloat8' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `examine_variable' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `pg_do_encoding_conversion' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `GetCurrentTransactionId' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `per_MultiFuncCall' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `Float8GetDatum' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `errhint' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `errfinish' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `datumCopy' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_modifytuple' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_typlenbyvalalign' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `deconstruct_array' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_attnum' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `WinGetFuncArgInPartition' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_fnumber' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `makeMdArrayResult' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `DirectFunctionCall1Coll' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `pg_atoi' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_guc_variables' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `heap_freetuple' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `init_MultiFuncCall' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_call_result_type' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `palloc' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `MemoryContextDelete' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `errmsg' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `WinGetFuncArgCurrent' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `pg_detoast_datum_slice' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `accumArrayResult' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `MemoryContextCreate' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `hash_search' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `TupleDescGetAttInMetadata' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `ProcessInterrupts' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `pg_qsort' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_finish' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `list_nth' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `textout' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `ReleaseSysCache' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_exec' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `WinGetCurrentPosition' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `DirectFunctionCall2Coll' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `DirectFunctionCall4Coll' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_gettype' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_connect' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `errstart' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_getbinval' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `end_MultiFuncCall' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `regclassin' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `repalloc' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `WinGetPartitionRowCount' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `BlessTupleDesc' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `CurrentMemoryContext' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `AggCheckCallContext' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_tuptable' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `DirectFunctionCall5Coll' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_fn_expr_argtype' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_attstatsslot' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `array_iterate' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `pg_detoast_datum' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `pg_detoast_datum_copy' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `default_statistics_target' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `hash_create' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `array_create_iterator' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_getvalue' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `HeapTupleHeaderGetDatum' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `GetDatabaseEncoding' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `GetNumConfigOptions' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `my_exec_path' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `heap_form_tuple' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `construct_array' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `ArrayGetNItems' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `pfree' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SearchSysCache' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `elog_start' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_share_path' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `hash_any' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_typbyval' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `errcode' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `MemoryContextAlloc' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `palloc0' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_typlen' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `array_free_iterator' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `get_rel_name' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `BuildTupleFromCStrings' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `RelationNameGetTupleDesc' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `SPI_processed' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `errmsg_internal' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `vacuum_delay_point' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `pqsignal' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `free_attstatsslot' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `DefineCustomStringVariable' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `elog_finish' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `pstrdup' /usr/lib/postgresql/postgis-2.4.so: undefined reference to `InterruptPending' 
4
Gleiche Ausgabe hier, ich bin vorerst nur auf 9.6 zurückgestuft swehren vor 7 Jahren 0
Fügen Sie das Ergebnis von "ld -v" ein und kennzeichnen Sie diese Frage für die Migration nach [dba.se]. Evan Carroll vor 7 Jahren 0
@EvanCarroll, `ld -v`-Ausgabe in Frage gestellt. denaje vor 7 Jahren 0
Ja, das PostGIS ist alle Arten von Verzerrungen, einen Fehler in Arch. Evan Carroll vor 7 Jahren 1
oder laden Sie die Quelle herunter und versuchen Sie, sich selbst zu bauen, aber das Erstellen von PostGIS macht keinen Spaß. Evan Carroll vor 7 Jahren 0
Alles klar. Ich habe einen Fehlerbericht erstellt: https://bugs.archlinux.org/task/56296 denaje vor 7 Jahren 0

2 Antworten auf die Frage

1
pawel

Eigentlich habe ich gerade Postgis-Erweiterung unter Arch Linux gebaut. Keine Probleme.

  1. Laden Sie die Quelle von http://postgis.net/source/ herunter.

  2. Irgendwo auspacken

  3. laufen ./autogen.shdann ./configuredannmake

Dies dauerte 10 Minuten in nicht sehr schneller Maschine

Dann gehen Sie in Ihren Postgrest-Installationsordner /usr/lib/postgresqlund kopieren dort 2 Dateien: /postgis-2.4.1/postgis/postgis-2.4.sound postgis-2.4.1/raster/rt_pg/rtpostgis-2.4.so. Das ist alles.

Jetzt können Sie create extension postgis;ohne Fehler laufen

0
denaje

Gemäß dem hier protokollierten Fehler wurde https://bugs.archlinux.org/task/56296?opened=19601&status%5B0%5D=, postgis 2.4.1-2 veröffentlicht, wodurch die Kompatibilität mit PostgreSQL 10.1 eingeführt wird.

Ich habe alle meine Pakete aktualisiert und jetzt funktioniert alles großartig.