2017-03-05 154 views
0

我遇到的問題是在我的Mac(Sierra)上安裝帶有GMP的NTL。使用GMP安裝NTL

這些是以下this教程

1)我下載Unix: ntl-10.3.0.tar.gz

2)雙擊了文件在我的下載

創建NTL-10.3.0.tar.gz文件夾我已經採取的步驟

3)

cd ~/Downloads/ntl-10.3.0/src 
./configure 
make 

這給了我一個錯誤,因爲我想我沒有GMP尚未安裝:

gen_gmp_aux.cpp:26:10: fatal error: 'gmp.h' file not found 
#include <gmp.h> 

4)是描述瞭如何安裝GMP

5)我從here下載GMP-6.1.2.tar.lz上this頁的說明。 (這不是問題,但注意擴展名是在指令的不同......我提到以防萬一一切)

6) 我找出.lz擴展需要lzip command

7)

brew install lzip 
cd ~/Downloads 
lzip -d gmp-6.1.2.tar.lz 
tar -xf gmp-6.1.2.tar 
cd gmp-6.1.2 

8)

注: 閱讀說明,我不-prefix = $ HOME/SW配置,因爲我希望它安裝在在/ usr/local目錄,而不是我的主目錄

./configure 
make 
make check 

沒有錯誤出現,每一件事情是綠色的,並表示 '通過'

9)

make install 

10)

回到NTL

cd ~/Downloads/ntl-10.3.0/src/ 
make 

我得到和以前一樣的錯誤:

gen_gmp_aux.cpp:26:10: fatal error: 'gmp.h' file not found 
#include <gmp.h> 

11)

我看着我的目錄

ls -la /usr/local/include/ 

,發現gmp.h存在,它應該是

12)

我創建了一個簡單的。CPP文件來測試它(基本上只是主與相關的包括)

g++ someFile.cpp -lgmp 

這個頂部

#include <gmp.h> 

,它似乎並沒有找到它,同樣的致命錯誤消息。

其他人似乎也遇到了這個問題(所有我能找到的是幾年前) one of the guys這樣做:再次

brew uninstall gmp 
brew install gmp 

繼西裝,我也做到了,然後試圖使NTL和它仍然無法正常工作......

我知道我可以把一個標誌在構建不使用GMP:

還可以提供的選擇 - 禁用共享的配置腳本,如果你只想要靜態庫。但是,如果您最終希望將NTL構建爲共享庫,那麼您還必須將GMP作爲共享庫。

但我真的很想。

我在做什麼錯? 有什麼建議嗎?

我想過發送一個bug report,但我不認爲這是一個錯誤,它與我的配置。

+0

10天后,對於一個解決方案而言,沒有想法,我認爲現在是把它直接帶到GMP的好時機。我非常全面地填寫了他們在我上面提供的鏈接上請求的所有內容,並且他們通過讓我知道我將它發送給他們公司中錯誤的一羣人(好吧,我明白),然後將我置於垃圾郵件因此我無法將它發送到他們指示的地方,這也是他們回覆的電子郵件地址,與我最初寄給它的那個電子郵件地址不同......呃...我還有其他事情要做嗎?這是GMP的粗魯,不要在那裏尋找解決方案! – brw59

回答

0

也許安裝NTL的問題可以通過編輯/ src目錄下的file.txt解決。您可以嘗試在下列字符串用適當的目錄(如/usr/local//usr/local/include//usr/local/lib/)取代@{GMP_XXX}

[email protected]{GMP_PREFIX} 

[email protected]{GMP_INCDIR} 
\#directory containing gmp.h if using GMP 

[email protected]{GMP_LIBDIR} 
\#directory containing libgmp.a if using GMP 

此外,this tutorial可能是非常有用的。

+0

我很欣賞這篇文章......我硬編碼了目錄路徑,我也試着按照你提供的鏈接指示,但不幸的是,他得到的錯誤與我自己的不同,所以它沒有解決我的問題 。 ..我不明白爲什麼當我硬編碼到gmp.h文件的路徑,它不能識別#include ......花了這麼多時間,並且應該有一個非常簡單的解決方案 – brw59