Libtool ищет не тот каталог, хотя указан путь

Libtool ищет не тот каталог, хотя указан путь

Мне нужна помощь с установкой программного обеспечения.

В общем: я пытаюсь установить PostGIS на кластер (CentOS) и не имею прав администратора. Есть установка sqlite3 (подключенная к ошибке), но она, похоже, повреждена. Моя собственная обычно работает и (также по install-process) использовалась ранее.

Я не могу использовать yum.

В деталях:

Для сборки MakeFiles я установил флаги, которые, как я считаю, могут понадобиться:

./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"

Но при запуске 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

Сразу после (но я не вижу связи):

libtool: link: ranlib .libs/liblwgeom.a

Если я снова запущу make, он перейдет в этот каталог. Но застрянет с похожей ошибкой (которая не перейдет при повторном запуске make):

/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'

Я не понимаю, почему libtool ищет в '/usr/local/lib/'. Я не нашел этого жестко закодированным в libtool или MakeFiles. Я невежественен - ​​и это выше моих навыков (судя по всему).

Вы можете помочь мне?

решение1

Одна из зависимостей (proj) ссылалась в своем .la файле на вредоносную версию sqlite3. Переустановка этой зависимости решила проблему.

В подобных случаях может помочь поиск «неправильного пути» в зависимостях:

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

Почет и хвалаhttps://stackoverflow.com/a/62500481/14339502который высказал ценную подсказку, что «похоже, у вас есть какой-то другой файл .la, который ссылается на него».

Связанный контент