我在Solaris 10 SPARC中编译的GNU GCC 9无法正常工作

时间:2019-06-24 12:01:39

标签: gcc makefile solaris gnu sparc

我已成功将GNU GCC-9.1.0成功编译到我的Sun / Oracle SPARC服务器上的Solaris 10 SPARC版操作系统中。 但是,我不得不将libgmp.so,libmfr.so和libmpc.so的静态库文件复制到在“ gmake”过程中创建的以下目录中 gcc-9.1.0 / host-sparc-sun-solaris2.10 / gcc gcc-9.1.0 / host-sparc-sun-solaris2.10 / prev-gcc

当我尝试使用'./configure'命令配置包含C代码源文件的任何tarball归档文件时,我现在遇到问题。当我输入'./configure'时,我收到一条错误消息,提示'C编译器不起作用,有关详细信息,请参见config.log文件。我已将生成的相关config.log文件上传到以下URL。它提到缺少名为'libmpc.so.3的静态库文件,但是该库文件位于/ usr / local / lib目录中。我该如何解决这种情况。我将不胜感激

configure:2912: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/sparc-sun-solaris2.10/9.1.0/lto-wrapper
Target: sparc-sun-solaris2.10
Configured with: ./configure --enable-obsolete --with-gmp-lib=/usr/local/lib --with-mpfr-lib=/usr/local/lib --with-mpc-lib=/usr/local/lib
...[snip]...
configure:2975: gcc    conftest.c  >&5
ld.so.1: cc1: fatal: libmpc.so.3: open failed: No such file or directory
gcc: fatal error: Killed signal terminated program cc1
compilation terminated.
configure:2978: $? = 1
configure:3016: result: 
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3023: error: C compiler cannot create executables

(完整的config.log位于http://tab140.freewebspace.com/config-gcc9.txt

1 个答案:

答案 0 :(得分:2)

cc1(编译器适当的可执行文件)取决于动态libmpc.so.3库。

请参见

ldd `gcc --print-file-name cc1`

它应该向您显示未找到mpc和其他库。这是因为/usr/local/lib不在您的运行时共享库​​路径中,因此您有责任确保它位于。 一种选择是暂时将其放置在其中:尝试

LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ldd `gcc --print-file-name cc1`  

如果第二个输出中没有“找不到”消息,则可以在所有涉及gcc调用的命令(例如./configuregmake等)前面加上{ {1}}。另外,您可以LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH,但这仍然仅适用于当前的shell会话。要使更改永久生效,您可以在配置文件中添加导出命令(例如,用于bash的export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH文件,我不知道您使用的是什么shell)。


GCC有一个installation manual,其中记录了~/.bashrc选项:

--with-mpc-lib