2010-11-05 53 views
0

我想在共享的RHEL5主機上編譯和安裝git,但沒有安裝zlib-devel庫。我已經從RPM中提取了這些庫,但無法弄清楚如何讓make識別它們。我得到以下信息:在沒有zlib-devel的共享主機上編譯git

cache.h:17:18: error: zlib.h: No such file or directory

曾嘗試以下:

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中。

+0

你能發佈錯誤嗎? – 2010-11-05 12:30:45

+0

編輯問題以發佈錯誤。謝謝! – Submonoid 2010-11-05 12:36:15

+0

在確實擁有它的主機上編譯它,然後複製它。 – leppie 2010-11-05 12:46:12

回答

4

已更新,我想這是我自己的Linux機器

。您可以使用CPPFLAGS來指定額外的include目錄。

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

另外,如果你正試圖使一個64位版本,您不指定鏈接到64位庫的位置,使之成爲現實。相反,你通過-m64編譯器標誌在你CFLAGS,像這樣:

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

如果你有指定其他非標準庫目錄,使用LDFLAGS

+0

zlib駐留在通常的地方 - 它只是我提供的開發庫 - 所以使用--with-zlib不起作用。並且需要編譯它,所以我可以在沒有其他不在框中的工具的情況下進行編譯。 – Submonoid 2010-11-05 13:04:19

+0

@Submonoid:'--with-zlib'可以工作,但你需要目錄結構autotools的預期。但是,您可以跳過所有這些,並根據我的編輯使用'CPPFLAGS'。 – birryree 2010-11-05 14:29:08

+0

太棒了!我做了'CFLAGS =「 - m64」CPPFLAGS =「 - I $ HOME/root/usr/include」LDFLAGS =「 - L $ HOME/root/usr/lib64」./configure --prefix = $ HOME/root/usr '而且一切似乎都很完美。 – Submonoid 2010-11-08 12:08:26