Git-Installation: / usr / bin / ld: -lz kann nicht gefunden werden

0

Ich versuche, Git aus dem Quellcode als Nicht-Root-Benutzer zu installieren. Nach der Eingabe von "make" tritt der folgende Fehler auf:

Link git-daemon
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status

Ich habe libz bereits von der Quelle installiert und die Umgebungsvariable LD_LIBRARY_PATH auf "$ HOME / lib" gesetzt. Dieses Verzeichnis enthält libz.a, libz.so, libz.so.1 und libz.so.1.2.5.

Was mache ich falsch?

non-root
quelle
Ich kann das nicht finden -lz Option auf einer GNU-basierten Linux-Box oder einem BSD-basierten OS X-System. Es scheint, als ob das Paket, das Sie installieren möchten, einen Fehler enthält. Auf welcher Plattform möchten Sie git-daemon installieren?
d34dh0r53
@ d34dh0r53: Die Option ist -lmit einem Argument " z "; Bedeutung" Link gegen libz msgstr "" "ist auf allen Linkern in irgendeiner Form vorhanden.
grawity

Antworten:

2

Um Git aus dem Quellcode ohne Linkfehler erfolgreich zu erstellen, musste ich das setzen $LIBRARY_PATH zusätzlich zu $CFLAGS und $LDFLAGS:

export LIBRARY_PATH="$HOME/lib"
anpimph
quelle
Vielen Dank. Ich hatte genau das gleiche Problem, das ich mit dieser Antwort lösen konnte.
Patrick Schlüter
1

$LD_LIBRARY_PATH ist für die Dynamik Lader ld-linux.so, und wird nur verwendet, wenn bereits kompilierte und verknüpfte Binärdateien ausgeführt werden.

Bei der Verknüpfung müssen Sie den Bibliothekspfad mit angeben -L, wie in -L$HOME/lib. Bei Projekten mit autoconf ( ./configure ) können Sie das Flag in angeben $LDFLAGS:

export dir="$HOME"
export CFLAGS="-I$dir/include"
export LDFLAGS="-L$dir/lib"
grawity
quelle