2017-03-05 96 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