0

我想gcc49在一个Ubuntu Linux上安装最新的,而我对Mac很熟悉Homebrew,所以我想使用它的Linux版本,即Linuxbrew. 所以我安装Linuxbrew并输入

$ brew install gcc49

将首先安装依赖gmp4mpfr2等。我在其中添加了一个if OS.mac?条件,gmp4因此可以成功安装,但是在安装时mpfr2(也添加了条件),make check失败并出现错误:

...
/tmp/mpfr2-i5YD/mpfr-2.4.2/tests/.libs/lt-tpow_all: error while loading shared libraries: libgmp.so.3: cannot open shared object file: No such file or directory
FAIL: tpow_all
=======================
148 of 148 tests failed
=======================

如您所见,测试找不到libgmp.so.3刚刚安装的。但gmp4只是桶,因为它会与主存储库中的 gmp 冲突。

但是配置选项设置为正确的位置gmp4

./configure --disable-dependency-tracking --prefix=/home/dongli/.linuxbrew/Cellar/mpfr2/2.4.2 --with-gmp=/home/dongli/.linuxbrew/opt/gmp4

如何解决这个问题呢?谢谢!

4

2 回答 2

0

您认为坚持使用非操作系统原生的第三方脚本解决方案是错误的。

在 Launchpad 上的此 PPA 中,相同的维护者提供了gcc 等的预构建版本。这些是下一个 Ubuntu 版本中的预览/测试版本。

于 2014-03-24T02:12:38.803 回答
0

system我发现了问题,那就是在 Ruby 公式中每次调用后环境都被重置了。所以我们需要将正确的设置LD_LIBRARY_PATH

if OS.linux?
  ENV["LD_LIBRARY_PATH"] = "#{Formula["..."].opt_prefix}/lib:...:$LD_LIBRARY_PATH"
end

以便LD_LIBRARY_PATH在构建过程中持续存在。

于 2014-03-24T01:51:51.400 回答