Я пытаюсь установить git из исходного кода как пользователь без полномочий root. После ввода "make" возникает следующая ошибка:

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

Я уже установил libz из исходного кода и установил переменную окружения LD_LIBRARY_PATH на «$ HOME/lib». Этот каталог содержит libz.a, libz.so, libz.so.1 и libz.so.1.2.5.

Что я делаю неправильно?

2 ответа2

2

Чтобы успешно собрать git из исходного кода без ошибок ссылок, мне пришлось установить переменную $LIBRARY_PATH , в дополнение к $CFLAGS и $LDFLAGS:

export LIBRARY_PATH="$HOME/lib"
1

$LD_LIBRARY_PATH для динамического загрузчика ld-linux.so и используется только при выполнении уже скомпилированных и связанных двоичных файлов.

При компоновке необходимо указать путь к библиотеке, используя -L , как в -L$HOME/lib . В проектах, использующих autoconf (./configure), вы можете указать флаг в $LDFLAGS:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .