我正在尝试在CentOS 5.5版(最终版)下构建GCC 4.6。我刚刚构建了GMP-5.0.1,MPC-0.9和MPFR-3.0.1,并使用了以下配置命令:
../ configure --prefix = / users / xxxx / apps / mygcc4.6 --disable-checking --enable-threads = posix --enable-languages = c,c ++,fortran --with -mpfr = / users / xxxx / code / gcc / mpfr-3.0.1-install-cyprus --with-gmp = / users / xxxx / code / gcc / gmp-5.0.1-install-cyprus --with-mpc = /用户/ XXXX /代码/ GCC / MPC-0.9-安装-塞浦路斯
在此之后,我运行make并在大约5分钟后得到以下错误消息:
检查对象文件的后缀... configure:error:in /users/xxxx/code/gcc/gcc-4.6.0/obj/x86_64-unknown-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See
config.log'了解更多详情。
config.log表示涉及最近生成的程序(cc1):
/users/xxxx/code/gcc/gcc-4.6.0/obj /./ GCC / CC1
的确,如果我在没有参数的情况下运行此程序,我会在config.log中找到相同的错误消息:
加载共享库时出现错误:libmpfr.so.4:无法打开共享对象文件:没有这样的文件或目录
但是,libmpfr.so.4位于提供的lib子目录中,使用--with-mpfr标志进行配置,如上所示。我有LD_LIBRARY_PATH和LIBRARY_PATH为空。知道我怎么能克服这个错误吗?
答案 0 :(得分:5)
确保您的库实际位于给定的目录中,而不是在某个lib
子目录中。按照您的建议使用export LD_LIBRARY_PATH=/users/xxxx/code/gcc/mpfr-3.0.1-install-cyprus
; - )
答案 1 :(得分:3)
我知道这个帖子已经过时了。但是,我不得不发表评论并说,在一个非常类似的问题上敲打我的头撞了5个多小时后(检查目标文件的后缀...配置:错误:无法计算目标文件的后缀:无法编译)和阅读了安装手册,众多论坛,并在相关系统上尝试了各种各样的事情,我找到了这个简短但非常有用的帖子。该问题与LD_LIBRARY_PATH正好相关。 简而言之,当你从源码构建时,如果你点击这个墙,则导出LD_LIBRARY_PATH变量以指向libs的源构建目录。 无论如何,为我工作。
祝你好运。
答案 2 :(得分:0)
我知道这个线程已经过时了。在WSL上安装mpfr时遇到了类似的问题。构建良好并且mpfr已正确安装,但是当我编写了一个小C文件以查看是否可以访问头文件并为安装打印版本时-我可以编译C文件,但是当我尝试运行已编译的对象时-会给我一个错误。 C文件是
#include <stdio.h>
#include <mpfr.h>
int main (void) {
printf ("MPFR library: %-12s\nMPFR header: %s (based on %d.%d.%d)\n",
mpfr_get_version (), MPFR_VERSION_STRING, MPFR_VERSION_MAJOR,
MPFR_VERSION_MINOR, MPFR_VERSION_PATCHLEVEL);
return 0;
}
我正在用它编译
gcc -o version mpfr_presence.c -lmpfr -lgmp
但是当我尝试使用./version
运行它时,会出现以下错误,
./version: error while loading shared libraries: libmpfr.so.6: cannot open shared object file: No such file or directory
我使用以下方法解决了此错误
sudo apt-get update
sudo apt-get install libmpfr4
然后当它说libmpfr4
已经是最新版本时,请确定
sudo apt-get install --reinstall libmpfr4
现在./version
给了我
MPFR library: 4.0.1
MPFR header: 4.0.1 (based on 4.0.1)