【发布时间】:2016-01-02 16:30:17
【问题描述】:
我在为 CentOS 7 制作 GCC 5.2 时收到以下错误。我添加了一些文件以使其工作,libstdc++-devel、ccache 以及运行“下载先决条件”命令。以下是出现错误消息之前发生的情况。
cp/cp-lang.o c-family/stub-objc.o cp/call.o cp/decl.o cp/expr.o cp/pt.o
cp/typeck2.o cp/class.o cp/decl2.o cp/error.o cp/lex.o cp/parser.o
cp/ptree.o cp/rtti.o cp/typeck.o cp/cvt.o cp/except.o cp/friend.o
cp/init.o cp/method.o cp/search.o cp/semantics.o cp/tree.o cp/repo.o
cp/dump.o cp/optimize.o cp/mangle.o cp/cp-objcp-common.o cp/name-lookup.o
cp/cxx-pretty-print.o cp/cp-cilkplus.o cp/cp-gimplify.o cp/cp-array-notation.o
cp/lambda.o cp/vtable-class-hierarchy.o cp/constexpr.o cp/cp-ubsan.o
attribs.o incpath.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o
c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o
c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o
c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o
c-family/c-cilkplus.o c-family/array-notation-common.o c-family/cilk.o
c-family/c-ubsan.o i386-c.o glibc-c.o cc1plus-checksum.o libbackend.a main.o
libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber
/libdecnumber.a libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs
/libbacktrace.a ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a -lmpc -lmpfr -lgmp -rdynamic -ldl -L../zlib -lz
编辑...(错误前的处理)
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[3]: *** [cc1plus] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [cc1] Error 1
make[3]: Leaving directory `/usr/local/gcc-5.2/gcc-5.2.0/objdir/gcc'
make[2]: *** [all-stage3-gcc] Error 2
make[2]: Leaving directory `/usr/local/gcc-5.2/gcc-5.2.0/objdir'
make[1]: *** [stage3-bubble] Error 2
make[1]: Leaving directory `/usr/local/gcc-5.2/gcc-5.2.0/objdir'
make: *** [all] Error 2
来自config.log 文件(已添加)
configure:5989: checking for compatible ISL
configure:6002: gcc -msse2 -flto -fuse-linker-plugin -o conftest -g -O2
-lisl conftest.c -lisl >&5
conftest.c:10:21: fatal error: isl/val.h: No such file or directory
#include <isl/val.h>
通过 Google 进行的各种搜索,都没有出现任何结果。大多数错误都有 cc1 错误的特定错误,而我的设置只输出“离开目录”。查看 GCC 网页上的潜在错误并没有发现任何问题。我已经使用以下设置设置了编译文件。感谢您的帮助。
/usr/local/gcc-5.2/gcc-5.2.0/configure --prefix=/usr/local/sbin/gcc-5.2.0
--enable-languages=c,c++ --disable-multilib
【问题讨论】:
-
看起来你剪掉了输出中有趣的部分。
-
请张贴
ld告诉您哪个共享对象有问题的部分。 -
Exit
1表示ld未成功完成,但您没有包含错误。Error 1表示operation not permitted。这意味着cc1plus无法完成其工作。这可能是由于ld无法做它需要做的事情。Error 2表示no such file or directory。这是由于ld没有产生输出而导致下一个命令的结果。 -
这很奇怪
--prefix。*/sbin通常用于系统管理员工具,而不是普通用户二进制文件.. -
您也可以下载libisl-0.14.1.tar.xz 并从源代码编译它。我建议您查看Linux From Scratch,它可以在此类任务中为您提供很多帮助。