让MPFR建立在cygwin上

时间:2011-05-20 21:24:30

标签: gcc cygwin gmp mpfr

我花了一整天按照

设置GCC

http://cygwin.wikia.com/wiki/How_to_install_GCC_4.3.0

在gcc make步骤中,它告诉我它需要一个c ++编译器才能继续出于任何原因, 所以我以通常的方式更新了Cygwin并获得了gcc-c ++。

之后,cgywin礼貌地删除了之前安装的3个prereq库,

所以我去改造他们。 GMP工作正常,然后我到了MPFR。无论出于何种原因,MPFR都会抛出此错误:

configure: error: libgmp not found or uses a different ABI.

资源提到此错误here.

我很确定它发现GMP没问题,因为cygcheck显示它没问题,配置甚至提到它找到它。

当我尝试:

./configure --with-gmp-build=/gmp/,
它扔了:

error: header files gmp-impl.h and longlong.h not found

到目前为止,尽管谷歌搜索并试了好几个小时,但我还是无法让MPFR工作。

MPC也没有以通常的方式找到GMP。

我也试过将库交给子目录中的GCC并让它们编译。

当我尝试时,它进入make步骤,然后抛出stage1-bubble错误并失败。没有错误或任何描述。

我不知道还有什么可以尝试。

4 个答案:

答案 0 :(得分:4)

在编译和安装gmp之后,我在构建mpfr时遇到了同样的问题,直到我正确设置了库搜索路径:

export LD_LIBRARY_PATH=/usr/local/lib
export LIBRARY_PATH=/usr/local/lib
export CPATH=/usr/local/include

http://cygwin.wikia.com/wiki/How_to_install_GCC_4.3.0

中有解释

答案 1 :(得分:1)

而不是:

./configure --with-gmp-build=/gmp/

使用它:

./configure --with-gmp-build=/gmp

最后不喜欢“/”。

答案 2 :(得分:0)

你可能想使用--with-gmp-lib = / path / to / gmp / lib / dir

答案 3 :(得分:0)

我知道这篇文章有点陈旧,但我正在寻找一个类似情况的答案或结果,但有更多当前版本的相同库。在阅读这篇文章以及一些建议以及其他在线资料时,我能够将所有内容拼凑在一起。对于那些可能正在使用最新版本的人来说,它是:

首先,您可能希望首先为C和C ++配置,制作和安装GMP作为静态库;还要记下x86或x64架构。一旦你运行make,make check,make install;并且你知道你没有错误,那么当你去配置MPFR时你会想要运行它:

./configure --with-gmp-build=/path/to/gmp --enable-static --disable-shared

如果路径设置正确,则应该为您提供所需的生成的make文件。

我是Unix-Posix环境和命令的新手,也是Cygwin的新手。我主要使用Windows平台,很少使用Mac或苹果。事实上,我只是在这个工作了不到一个星期,因为我正在努力做同样的事情。所以现在我正在冒险进入一个全新的Unix世界......但它是通过Cygwin进行模拟的,因为我还在运行Windows。

我正在努力建立GMP,MPIR,MPFR& MPFRC ++全部来自最新的原始发行版,最终将尝试将它们集成到Visual Studio 2017中。

我实际上发现这篇文章是因为我能够在python和vyasm的帮助下通过visual studio构建MPIR,但至于GMP我需要Cygwin和GCC。我花了一点时间才弄清楚如何让GMP正确构建,但是一旦我做了并运行了测试,我就能够通过0次失败。然后我和你一样开始使用MPFR。

我的类似问题是在我运行./configure作为默认值之后,它给我的消息是找不到libgmp。此外,如果我试图调用make,它将无效,因为make文件不存在。这让我回到谷歌搜索...在搜索提示,建议等时,我遇到了这个Q / A.当我正在阅读这个Q / A,安装文件,其他一些常见问题解答甚至是其他网站时,我有点能够将所有内容拼凑在一起,而且我发现它的作用就是我上面建议的内容。

您不仅需要设置标志--with-gmp-build,还需要设置构建gmp的相应库类型,并且还需要确保架构类型也匹配。他们需要具有相同的匹配ABI。

啊,就在我即将完成输入这个答案时,让检查刚刚完成Cygwin的运行,我的结果是:

Testsuite summary for MPFR 4.0.1
============================================================================
# TOTAL: 180
# PASS:  180
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

我希望这会帮助你。唯一的事就是为自己;我必须回去并且可能从一开始就再次运行所有这些,包括GMP,因为我相信我只做GCC而不是G ++,我的下一步是尝试构建MPFRC ++。

然后我可能会尝试从here开始做一些相关的库。我的第一个阶段是尝试通过Cygwin和GCC / G ++构建它们。下一步是尝试将它们移植到Visual Studio 2017.