After collect2: fatal error: ld terminated with signal 9 [Killed] - cannot compute suffix of object files: cannot compile

Xi Ruoyao xry111@mengyan1223.wang
Sat Feb 9 01:23:00 GMT 2019


On 2019-02-08 19:39 +0000, .uservorname .usernachname wrote:
> Hi,
> I'm compiling gcc-7.4 with : ../gcc-7.4.0/configure --prefix=/opt/gcc-7.4.0 CC=/opt/gcc-4.6.0/bin/gcc
> CXX=/opt/gcc-4.6.0/bin/g++ --enable-languages=c,c++,go --disable-doc --disable-libstdcxx-pch --disable-linux-futex 
> --disable-libsanitizer --disable-libcilkrts --disable-libitm CFLAGS=-Wl,--rpath=/usr/local/lib CXXFLAGS=-Wl,
> --rpath=/usr/local/lib
> 
> While compiling with /usr/local/bin/make the compiler got killed with:
> 
> /media/gcc-7.4.0-compiled/./prev-gcc/xg++ -B/media/gcc-7.4.0-compiled/./prev-gcc/ -B/opt/gcc-7.4.0/sparc-unknown-
> linux-gnu/bin/ -nostdinc++ -B/media/gcc-7.4.0-compiled/prev-sparc-unknown-linux-gnu/libstdc++-v3/src/.libs
> -B/media/gcc-7.4.0-compiled/prev-sparc-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs  -I/media/gcc-7.4.0-
> compiled/prev-sparc-unknown-linux-gnu/libstdc++-v3/include/sparc-unknown-linux-gnu  -I/media/gcc-7.4.0-
> compiled/prev-sparc-unknown-linux-gnu/libstdc++-v3/include  -I/media/gcc-7.4.0/libstdc++-v3/libsupc++
> -L/media/gcc-7.4.0-compiled/prev-sparc-unknown-linux-gnu/libstdc++-v3/src/.libs -L/media/gcc-7.4.0-compiled/prev-
> sparc-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -no-pie   -g -O2 -DIN_GCC     -fno-exceptions -fno-rtti
> -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
> -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H
> -static-libstdc++ -static-libgcc  -o lto1 \
> 
>         lto/lto-lang.o lto/lto.o lto/lto-object.o attribs.o lto/lto-partition.o lto/lto-symtab.o libbackend.a
> main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a -lisl -lmpc -lmpfr -lgmp
> -rdynamic -ldl  -L./../zlib -lz libcommon.a ../libcpp/libcpp.a  -liconv ../libbacktrace/.libs/libbacktrace.a
> ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a
> 
> collect2: fatal error: ld terminated with signal 9 [Killed]

Seems like an OOM kill...

Try to add your system memory or swap space.

> compilation terminated.
> 
> make[3]: *** [../../gcc-7.4.0/gcc/lto/Make-lang.in:81: lto1] Error 1
> 
> make[3]: Leaving directory '/media/gcc-7.4.0-compiled/gcc'
> 
> make[2]: *** [Makefile:4621: all-stage3-gcc] Error 2
> 
> make[2]: Leaving directory '/media/gcc-7.4.0-compiled'
> 
> make[1]: *** [Makefile:22654: stage3-bubble] Error 2
> 
> make[1]: Leaving directory '/media/gcc-7.4.0-compiled'
> 
> make: *** [Makefile:929: all] Error 2
> 
> debian-sparc:/media/gcc-7.4.0-compiled#
> 
> I ran /usr/local/bin/make again but now it complains about:
> 
> make[3]: Nothing to be done for 'all'.
> make[3]: Leaving directory '/media/gcc-7.4.0-compiled/libdecnumber'
> make[3]: Entering directory '/media/gcc-7.4.0-compiled/gcc'
> (echo "@set version-GCC 7.4.0"; \
>  if [ "" = "experimental" ]; \
>  then echo "@set DEVELOPMENT"; \
>  else echo "@clear DEVELOPMENT"; \
>  fi) > gcc-vers.texiT
> echo @set srcdir /media/gcc-7.4.0-compiled/gcc/../../gcc-7.4.0/gcc >> gcc-vers.texiT
> if [ -n "(GCC) " ]; then \
>   echo "@set VERSION_PACKAGE (GCC) " >> gcc-vers.texiT; \
> fi
> echo "@set BUGURL @uref{https://gcc.gnu.org/bugs/}" >> gcc-vers.texiT; \
> mv -f gcc-vers.texiT gcc-vers.texi
> if [ xinfo = xinfo ]; then \
>         makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 --no-split -I . -I ../../gcc-
> 7.4.0/gcc/doc \
>                 -I ../../gcc-7.4.0/gcc/doc/include -o doc/cpp.info ../../gcc-7.4.0/gcc/doc/cpp.texi; \
> fi
> if [ xinfo = xinfo ]; then \
>         makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 --no-split -I . -I ../../gcc-
> 7.4.0/gcc/doc \
>                 -I ../../gcc-7.4.0/gcc/doc/include -o doc/gcc.info ../../gcc-7.4.0/gcc/doc/gcc.texi; \
> fi
> build/genhooks -d \
>                 ../../gcc-7.4.0/gcc/doc/tm.texi.in > tmp-tm.texi
> case `echo X|tr X '\101'` in \
>   A) tr -d '\015' < tmp-tm.texi > tmp2-tm.texi ;; \
>   *) tr -d '\r' < tmp-tm.texi > tmp2-tm.texi ;; \
> esac
> mv tmp2-tm.texi tmp-tm.texi
> /bin/sh ../../gcc-7.4.0/gcc/../move-if-change tmp-tm.texi tm.texi
> if [ xinfo = xinfo ]; then \
>         makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 --no-split -I . -I ../../gcc-
> 7.4.0/gcc/doc \
>                 -I ../../gcc-7.4.0/gcc/doc/include -o doc/gccint.info ../../gcc-7.4.0/gcc/doc/gccint.texi; \
> fi
> if [ xinfo = xinfo ]; then \
>         makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 --no-split -I ../../gcc-
> 7.4.0/gcc/doc \
>                 -I ../../gcc-7.4.0/gcc/doc/include -o doc/gccinstall.info ../../gcc-7.4.0/gcc/doc/install.texi; \
> fi
> if [ xinfo = xinfo ]; then \
>         makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 --no-split -I . -I ../../gcc-
> 7.4.0/gcc/doc \
>                 -I ../../gcc-7.4.0/gcc/doc/include -o doc/cppinternals.info ../../gcc-
> 7.4.0/gcc/doc/cppinternals.texi; \
> fi
> if test "xinfo" = xinfo; then \
>   rm -f doc/gccgo.info*; \
>   makeinfo --split-size=5000000 --split-size=5000000 --split-size=5000000 --no-split -I ../../gcc-7.4.0/gcc/doc \
>         -I ../../gcc-7.4.0/gcc/doc/include -o doc/gccgo.info ../../gcc-7.4.0/gcc/go/gccgo.texi; \
> else true; fi
> echo timestamp > gcc.pod
> perl ../../gcc-7.4.0/gcc/../contrib/texi2pod.pl ../../gcc-7.4.0/gcc/doc/invoke.texi > gcc.pod
> echo timestamp > doc/gcc.1
> (pod2man --center="GNU" --release="gcc-7.4.0" --date=2018-12-06 --section=1 gcc.pod > doc/gcc.1.T$$ && \
>         mv -f doc/gcc.1.T$$ doc/gcc.1) || \
>         (rm -f doc/gcc.1.T$$ && exit 1)
> cp doc/gcc.1 doc/g++.1
> perl ../../gcc-7.4.0/gcc/../contrib/texi2pod.pl -D gccgo < ../../gcc-7.4.0/gcc/go/gccgo.texi > gccgo.pod
> echo timestamp > doc/gccgo.1
> (pod2man --center="GNU" --release="gcc-7.4.0" --date=2018-12-06 --section=1 gccgo.pod > doc/gccgo.1.T$$ && \
>         mv -f doc/gccgo.1.T$$ doc/gccgo.1) || \
>         (rm -f doc/gccgo.1.T$$ && exit 1)
> /media/gcc-7.4.0-compiled/./gcc/xgcc -B/media/gcc-7.4.0-compiled/./gcc/ -nostdinc -x c /dev/null -S -o /dev/null
> -fself-test=../../gcc-7.4.0/gcc/testsuite/selftests
> cc1: note: self-tests are not enabled in this build
> echo timestamp > s-selftest
> rm gccgo.pod gcc.pod
> make[3]: Leaving directory '/media/gcc-7.4.0-compiled/gcc'
> mkdir -p -- sparc-unknown-linux-gnu/libgcc
> Checking multilib configuration for libgcc...
> Configuring stage 3 in sparc-unknown-linux-gnu/libgcc
> configure: creating cache ./config.cache
> checking build system type... sparc-unknown-linux-gnu
> checking host system type... sparc-unknown-linux-gnu
> checking for --enable-version-specific-runtime-libs... no
> checking for a BSD-compatible install... /usr/bin/install -c
> checking for gawk... gawk
> checking for sparc-unknown-linux-gnu-ar... ar
> checking for sparc-unknown-linux-gnu-lipo... lipo
> checking for sparc-unknown-linux-gnu-nm... /media/gcc-7.4.0-compiled/./gcc/nm
> checking for sparc-unknown-linux-gnu-ranlib... ranlib
> checking for sparc-unknown-linux-gnu-strip... strip
> checking whether ln -s works... yes
> checking for sparc-unknown-linux-gnu-gcc... /media/gcc-7.4.0-compiled/./gcc/xgcc -B/media/gcc-7.4.0-
> compiled/./gcc/ -B/opt/gcc-7.4.0/sparc-unknown-linux-gnu/bin/ -B/opt/gcc-7.4.0/sparc-unknown-linux-gnu/lib/
> -isystem /opt/gcc-7.4.0/sparc-unknown-linux-gnu/include -isystem /opt/gcc-7.4.0/sparc-unknown-linux-gnu/sys-
> include
> checking for suffix of object files... configure: error: in `/media/gcc-7.4.0-compiled/sparc-unknown-linux-
> gnu/libgcc':
> configure: error: cannot compute suffix of object files: cannot compile
> See `config.log' for more details.
> make[2]: *** [Makefile:17358: configure-stage3-target-libgcc] Error 1
> make[2]: Leaving directory '/media/gcc-7.4.0-compiled'
> make[1]: *** [Makefile:22654: stage3-bubble] Error 2
> make[1]: Leaving directory '/media/gcc-7.4.0-compiled'
> make: *** [Makefile:929: all] Error 2
> debian-sparc:/media/gcc-7.4.0-compiled# cat stage_current
> 
> From the config.log:
> configure:3662: checking for suffix of object files
> configure:3684: /media/gcc-7.4.0-compiled/./gcc/xgcc -B/media/gcc-7.4.0-compiled/./gcc/ -B/opt/gcc-7.4.0/sparc-
> unknown-linux-gnu/bin/ -B/opt/gcc-7.4.0/sparc-unknown-linux-gnu/lib/ -isystem /opt/gcc-7.4.0/sparc-unknown-linux-
> gnu/include -isystem /opt/gcc-7.4.0/sparc-unknown-linux-gnu/sys-include    -c -g -O2 -Wl,
> --rpath=/usr/local/lib  conftest.c >&5
> <built-in>: internal compiler error: Segmentation fault
> 0x5c49a7 crash_signal
>         ../../gcc-7.4.0/gcc/toplev.c:337
> Please submit a full bug report,
> 
> For me it looks, that on the second execution of "make", it skipped the part where the compiler got killed and
> doesn't try to rebuild this par. Also the xgcc compiler seems to be messed up.

I think xgcc is good but cc1 is messed up.  Remove cc1 and have a try.

> Is there a way to enforce a rebuild xgcc by deleting a specific folder? Thanks in advanced for any help.

`make -C gcc clean` should do the work.
-- 
Xi Ruoyao <xry111@mengyan1223.wang>
School of Aerospace Science and Technology, Xidian University



More information about the Gcc-help mailing list