2015-10-05 194 views
-5

在为CentOS 7制作GCC 5.2时,我收到了以下错误。我已经添加了几个文件,使libstdC++ --devel,ccache和运行'download prerequisites'命令一起工作。以下是错误消息出现之前发生的情况。cc1,cc1plus的GCC 5.2错误

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> 

各种搜索通过谷歌,没有打开任何东西。大多数错误与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 
+5

看起来像你切出输出的有趣部分。 –

+0

请寄出'ld'告诉你哪个共享对象有问题的部分。 –

+0

退出'1'意味着'ld'没有成功完成,但是您没有包含错误。 '错误1'意味着'操作不允许'。这意味着'cc1plus'无法完成它的工作。这可能是由'ld'无法做到的。 '错误2'意味着'没有这样的文件或目录'。这是由于'ld'没有产生输出而导致的下一个命令的结果。 – alvits

回答

0

我不得不改变我./configure设置和读取Linux from Scratch。在@iharob的帮助下,我能够编译GCC。以下是新的./configure设置。

/usr/local/gcc-5.2/gcc-5.2.0/configure --prefix=/usr/local/gcc-5.2/gcc-5.2.0/objdir 
--enable-languages=c,c++ --enable-threads=posix --disable-multilib 
--disable-nls --disable-bootstrap LD_LIBRARY_PATH=/usr/local/lib 

我可能并不需要LD_LIBRARY_PATH标志,但我玩了它的安全。