Libtool durchsucht falsches Verzeichnis, obwohl Pfad angegeben ist

Libtool durchsucht falsches Verzeichnis, obwohl Pfad angegeben ist

Ich brauche Hilfe bei der Installation einer Software.

Allgemein: Ich versuche, PostGIS auf einem Cluster (CentOS) zu installieren und habe keine Administratorrechte. Es gibt eine SQLite3-Installation (die mit dem Fehler verbunden ist), aber diese scheint beschädigt zu sein. Meine eigene funktioniert normalerweise und wurde (auch beim Installationsprozess) zuvor verwendet.

Ich kann yum nicht verwenden.

Im Detail:

Um die MakeFiles erstellen zu lassen, setze ich Flags, von denen ich glaube, dass sie möglicherweise benötigt werden:

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

Beim Ausführen von make wird jedoch der folgende Fehler ausgegeben:

/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

Direkt danach (aber ich sehe den Zusammenhang nicht):

libtool: link: ranlib .libs/liblwgeom.a

Wenn ich make erneut ausführe, springt es in dieses Verzeichnis. Bleibt aber mit einem ähnlichen Fehler hängen (der nicht übersprungen wird, wenn ich make ein weiteres Mal ausführe):

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

Ich verstehe nicht, warum libtool in '/usr/local/lib/' sucht. Ich habe das weder in libtool noch in den MakeFiles fest codiert gefunden. Ich habe keine Ahnung – und das übersteigt (anscheinend) meine Fähigkeiten.

Kannst du mir helfen?

Antwort1

Eine der Abhängigkeiten (proj) war in ihrer .la-Datei mit der bösartigen SQLite3-Version verknüpft. Durch die Neuinstallation dieser Abhängigkeit wurde das Problem behoben.

Was in ähnlichen Fällen helfen würde, wäre, in den Abhängigkeiten nach dem „falschen Pfad“ zu suchen:

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

Ein großes Lob geht anhttps://stackoverflow.com/a/62500481/14339502der den wertvollen Hinweis gab, dass „es so aussieht, als hätten Sie eine andere .la-Datei, die darauf verweist“.

verwandte Informationen