Libtool pesquisa o diretório errado enquanto o caminho é especificado

Libtool pesquisa o diretório errado enquanto o caminho é especificado

Preciso de ajuda para instalar um software.

Em geral: tento instalar o PostGIS em um cluster (CentOS) e não tenho direitos de administrador. Há uma instalação do sqlite3 (conectada ao erro), mas parece corrompida. O meu geralmente funciona e (também por processo de instalação) foi usado anteriormente.

Não posso usar yum.

Em detalhe:

Para construir o MakeFiles, defino sinalizadores porque acredito que possivelmente precise deles:

./configure --prefix="$HOME/.local" CFLAGS="-I$HOME/.local/include" LDFLAGS="-L$HOME/.local/lib" LT_SYS_LIBRARY_PATH="$HOME/.local/lib" LIBS="-L$HOME/.local/lib" SQLITE3_CFLAGS="-I$HOME/.local/include" SQLITE3_LIBS="-L$HOME/.local/lib"

Mas o seguinte erro é gerado ao executar o make:

/usr/bin/sed: can't read /usr/local/lib/libsqlite3.la: No such file or directory

libtool: error: '/usr/local/lib/libsqlite3.la' is not a valid libtool archive

Logo depois (mas não vejo a conexão):

libtool: link: ranlib .libs/liblwgeom.a

Se eu executar o make novamente, ele saltará para esse diretório. Mas fica preso com um erro semelhante (que não é resolvido executando make outra vez):

/bin/sh ../../libtool --mode=link gcc -Wall -Wmissing-prototypes -std=gnu99 -I<exp. $HOME>/.local/include -fno-math-errno -fno-signed-zeros -fPIC -DPIC -I../rt_core -I../../liblwgeom -I<exp. $HOME>/.local/include -I/usr/include/gdal -I<exp. $HOME>/.local/include ../rt_core/librtcore.a raster2pgsql.o -L<exp. $HOME>/.local/lib -static ../../liblwgeom/liblwgeom.la -L/usr/lib64 -lgdal -L<exp. $HOME>/.local/lib -lgeos_c -lc -lm -o raster2pgsql

libtool: error: cannot find the library '/usr/local/lib/libsqlite3.la' or unhandled argument '/usr/local/lib/libsqlite3.la'

Não entendo por que o libtool pesquisa em '/usr/local/lib/'. Não encontrei isso codificado no libtool ou no MakeFiles. Não tenho ideia - e isso está acima da minha habilidade (aparentemente).

Pode me ajudar?

Responder1

Uma das dependências (proj) vinculada em seu arquivo .la à versão maliciosa do sqlite3. A reinstalação dessa dependência resolveu o problema.

O que ajudaria em casos semelhantes seria procurar o ‘caminho errado’ nas dependências:

find <deps lib dir> -type f -exec grep -l "<wrong path>" {} +

Parabéns, vá parahttps://stackoverflow.com/a/62500481/14339502que deu a dica valiosa de que "parece que você tem algum outro arquivo .la que faz referência a ele".

informação relacionada