Скомпилируйте git на общем хосте без zlib-devel

Я пытаюсь скомпилировать и установить git на общий хост RHEL5, но у меня нет установленных библиотек zlib-devel. Я извлек библиотеки из RPM, но не могу понять, как заставить make распознавать их. Я получаю следующее сообщение:

cache.h:17:18: ошибка: zlib.h: нет такого файла или каталога

Пробовали следующее:

CFLAGS='-I$HOME/root/usr/include -L$HOME/root/usr/lib64' make

но это, похоже, не работает. Я также пытался установить

C_INCLUDE_PATH='$HOME/root/usr/include

Опять не повезло. Есть идеи? Излишне говорить, что zlib.h находится в $HOME/root/usr/include.


person Submonoid    schedule 05.11.2010    source источник
comment
Отредактированный вопрос, чтобы опубликовать ошибку. Спасибо!   -  person Submonoid    schedule 05.11.2010
comment
Скомпилируйте его на хосте, где он есть, а затем скопируйте его.   -  person leppie    schedule 05.11.2010


Ответы (1)


Обновлено, так как я попробовал это на своем собственном компьютере с Linux

Вы можете использовать CPPFLAGS, чтобы указать дополнительные включаемые каталоги.

CPPFLAGS="-I $HOME/root/usr/include" ./configure 

Кроме того, если вы пытаетесь создать 64-битную версию, вы не указываете ссылку на место с 64-битными библиотеками, чтобы это произошло. Вместо этого вы передаете флаг компилятора -m64 в CFLAGS, например:

CFLAGS="-m64" CPPFLAGS="-I $HOME/root/usr/include" ./configure

А если вам нужно указать дополнительные нестандартные каталоги библиотек, используйте LDFLAGS.

person wkl    schedule 05.11.2010
comment
zlib находится в обычном месте — это просто библиотеки разработки, которые я предоставляю, поэтому использование --with-zlib не помогает. И мне нужно скомпилировать его, чтобы я мог скомпилировать без других инструментов, которых нет в коробке. - person Submonoid; 05.11.2010
comment
@Submonoid: --with-zlib работает, но вам нужны ожидаемые автоинструменты структуры каталогов. Однако вы можете пропустить все это и использовать CPPFLAGS согласно моему редактированию. - person wkl; 05.11.2010
comment
Замечательный! Я сделал CFLAGS="-m64" CPPFLAGS="-I $HOME/root/usr/include" LDFLAGS="-L$HOME/root/usr/lib64" ./configure --prefix=$HOME/root/usr, и все, казалось, работало отлично. - person Submonoid; 08.11.2010