2011-05-06 88 views
5

我试图在CentOS 5.5(最终版)下构建GCC 4.6。我新建了GMP-5.0.1,MPC-0.9和MPFR-3.0.1,并且使用了以下配置命令:构建GCC 4.6 - libmpfr.so.4 - 无法打开共享对象文件

../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 =/users/xxxx/code/gcc/mpc-0.9-install-cyprus

之后,我运行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位于提供的使用--with-mpfr标志进行配置的lib子目录中,如上所示。我有LD_LIBRARY_PATH和LIBRARY_PATH空。任何想法我怎么能通过这个错误?

回答

5

确保您的磁带库在指定的目录中执行,而不是在某些lib子目录中。使用export LD_LIBRARY_PATH=/users/xxxx/code/gcc/mpfr-3.0.1-install-cyprus,因为你已经建议;-)

+0

谢谢。我曾尝试设置'LD_LIBRARY_PATH',但不小心没有到lib子目录。好吧,它看起来像GMP也应该在那里,所以我现在尝试所有三个... – user2023370 2011-05-06 09:08:52

+0

它的工作:'出口LD_LIBRARY_PATH = /用户/ XXXX /代码/ GCC/MPFR -3.0.1安装塞浦路斯/ LIB:/users/xxxx/code/gcc/gmp-5.0.1-install-cyprus/lib:/用户/ XXXX /代码/ GCC/MPC-0.9安装 - 塞浦路斯/ lib' – user2023370 2011-05-06 11:30:50

3

我知道这个线程是相当过时的。但是,我不得不发表评论,并说,经过5个多小时的时间,我的头撞墙上一个非常类似的问题(检查后缀的目标文件...配置:错误:无法计算后缀的目标文件:无法编译)和在阅读安装手册,大量论坛以及尝试系统上的各种问题之后,我发现这篇简短但非常有用的文章。该问题与LD_LIBRARY_PATH完全相关。 长话短说,当从源代码构建时,如果您点击此壁,则会导出LD_LIBRARY_PATH变量以指向库的源构建目录。无论如何,为我工作。

祝你好运。

相关问题