De acordo com o bug que registrei aqui, link , postgis 2.4 .1-2 foi lançado, o que introduz a compatibilidade com o PostgreSQL 10.1.
Eu atualizei todos os meus pacotes e agora tudo funciona muito bem.
Atualizei para o PostgreSQL 10.1 no Arch Linux. Criei um novo banco de dados e estou tentando instalar o postgis, mas está me dando o seguinte erro:
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
output:
$ 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)
Tanto quanto eu entendo, "símbolo indefinido" significa que há alguma incompatibilidade entre bibliotecas, no entanto, eu não tenho nenhum pacote ignorado em pacman.conf
, então não tenho certeza de onde a incompatibilidade viria. / p>
Editar: ld -v
output:
$ 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'
De acordo com o bug que registrei aqui, link , postgis 2.4 .1-2 foi lançado, o que introduz a compatibilidade com o PostgreSQL 10.1.
Eu atualizei todos os meus pacotes e agora tudo funciona muito bem.
Na verdade, acabei de criar a extensão postgis no arch linux. Sem problemas.
Faça o download da fonte do link
Descompacte em algum lugar
execute ./autogen.sh
, em seguida, ./configure
, em seguida, make
isso me levou 10 minutos em uma máquina não muito rápida
Em seguida, vá para a pasta de instalação do postgrest, /usr/lib/postgresql
, e copie dois arquivos: /postgis-2.4.1/postgis/postgis-2.4.so
e postgis-2.4.1/raster/rt_pg/rtpostgis-2.4.so
. Isso é tudo.
Agora você pode executar create extension postgis;
sem erros
Tags postgresql linux arch-linux postgis