我想在Ubuntu中安装最新的gcc49,我熟悉Mac中的Homebrew,所以我想使用它的Linux版本,即Linuxbrew。所以我安装了Linuxbrew并输入了
$ brew install gcc49将首先安装依赖项gmp4、mpfr2等。我在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如何解决这个问题?谢谢!
发布于 2014-03-24 01:51:51
我发现了一个问题,那就是在Ruby公式中的每个system调用之后,环境都被重置了。因此,我们需要将正确的LD_LIBRARY_PATH设置为
if OS.linux?
ENV["LD_LIBRARY_PATH"] = "#{Formula["..."].opt_prefix}/lib:...:$LD_LIBRARY_PATH"
end因此,LD_LIBRARY_PATH在构建过程中仍然存在。
发布于 2014-03-24 02:12:38
你认为你这样做是错误的,坚持一个第三方脚本解决方案,不是本机操作系统。
还有gcc等人在Launchpad上的PPA中提供的预建版本。这些是下一个Ubuntu发行版中将要出现的预览/ testreleases。
https://stackoverflow.com/questions/22573550
复制相似问题