소프트웨어 설치에 도움이 필요합니다.
일반적으로 관리자 권한 없이 클러스터(CentOS)에 PostGIS를 설치하려고 합니다. 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에 하드코딩된 것을 찾지 못했습니다. 나는 아무것도 모른다. 그것은 내 능력 밖이다(분명히).
도와주세요?
답변1
.la 파일의 악성 sqlite3 버전에 연결된 종속성(proj) 중 하나입니다. 이 종속성을 다시 설치하면 문제가 해결되었습니다.
비슷한 상황에서는 종속성에서 "잘못된 경로"를 검색하는 것이 도움이 될 수 있습니다.
find <deps lib dir> -type f -exec grep -l "<wrong path>" {} +
명예는 간다https://stackoverflow.com/a/62500481/14339502누가 "그것을 참조하는 다른 .la 파일이 있는 것 같습니다"라는 귀중한 팁을 지적했습니다.