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?
installation
git
libraries
non-root
quelle
quelle
-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?-l
mit einem Argument "z
"; Bedeutung" Link gegenlibz
msgstr "" "ist auf allen Linkern in irgendeiner Form vorhanden.Antworten:
Um Git aus dem Quellcode ohne Linkfehler erfolgreich zu erstellen, musste ich das setzen
$LIBRARY_PATH
zusätzlich zu$CFLAGS
und$LDFLAGS
:quelle
$LD_LIBRARY_PATH
ist für die Dynamik Laderld-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
:quelle