Libtool ищет неправильный каталог, пока указан путь

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

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

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

В деталях:

Для сборки 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. Я невежда - и это выше моего мастерства (видимо).

Можешь мне помочь?


person jan    schedule 25.09.2020    source источник


Ответы (1)


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

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

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

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

person jan    schedule 06.10.2020