2014-06-05 46 views
0

我想安装一个使用gmp的库,并在其上运行./configure。 到目前为止,我已经得到了过去几碰壁,如要求GCC,g ++以及M4使用:Fedora - 用C++支持重新安装GMP

yum install gcc 
yum install gcc-g++ 
yum install m4 

现在,我得到这个错误:

checking for the GMP library version 4.1.3 or above... no 
configure: error: Cannot find GMP version 4.1.3 or higher. 
GMP is the GNU Multi-Precision library: 
see http://www.swox.com/gmp/ for more information. 
When compiling the GMP library, do not forget to enable the C++ interface: 
add --enable-cxx to the configuration options. 

因此,我尝试都安装和使用yum的更新GMP:

yum install gmp 
yum update gmp 

安装告诉我,它已经安装,并为v 5.1.2 更新说没有什么更新。

我去了GMP现场,目前它是诉6.0.0

我下载并运行配置(使用--enable-CXX),制作,并进行安装。 然而,没有任何改变。它仍然说我有5.1.2版本,并且该库的配置仍然表示它找不到4.1.3及更高版本/尝试启用C++。 gmp文件(比如gmp.h)被放置在/ usr/local/lib和/ include中

我已经在这里呆了几个小时没有任何进展。我对Linux非常陌生,所以我想有些事我只是不知道。

我是不是正确安装6.0.0来覆盖已经安装的? 或者有没有办法用C++选项重新安装原件?

任何帮助,将不胜感激。谢谢。

+2

你尝试像'yum的安装GMP-devel'或类似的? –

+0

感谢您的想法。我试了一下,并安装了它。然而,同样的消息出现了,我运行了关于gmp C++的./configure未启用。 –

+0

yum install gmp-devel安装StrongSwan时为我工作 – fungusanthrax

回答

1

当您手动安装某些东西时,它不会安装在正常的/ usr/lib目录下,因此它不会覆盖它。这是一件好事。一般来说,你不应该混淆包管理器安装的文件。 (除了它们是要编辑的配置文件的情况)。

手动安装时,它安装到/ usr/local/lib。幸运的是,GCC和其他编译器不关心安装了哪个目录,他们会发现它(当它位于/ usr/*或/ usr/local/*这样的标准位置时)。

只需包含C++头文件并添加正确的-l库标志即可。

+0

我想这是这样的。不过,我是使用./configure的新手。 哪里/如何添加C++头文件?我在哪里放置-l标志? 它会是./configure -l(文件位置)吗? –

+0

哦,废话我很愚蠢。你有没有安装gmp-devel?如果没有,运行'sudo yum install gmp-devel',这应该足以修复它。我自己已经有过100次这个问题,忘记了* -devel包,我应该首先想到这个问题。你需要它的原因是,当你想从源代码构建一个包(就像你正在做的那样)时,你需要* -devel包,因为它包含编译器使用给定库编译程序所需的头文件。回到我这里是否修复它,如果有的话我会编辑我的答案。 – Tyler

-1

我想通了。
在./configure的,因为我尝试安装库的--help部分,实际上是只为这一个特点:

--with-gmp-include=DIR 
--with-gmp-lib=DIR 

利用这些,我能得到它的安装。
感谢您的帮助。

我想我太专注于尝试更新gmp的系统安装。

1

DNF安装GMP-devel的解决了这个对我来说在RHEL

+0

在Fedora上也一样。 – mattdm