on old Red Hat : 9.4.0 fails in stage3 bootstrap due to __asm__ ("ntp_gettimex") __THROW;

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




*baffled* again here.

At this point I am truely confused what the issue can be when a
bootstrap fails in stage 3?  Not in stage 1 and not in stage 2 but
the whole process throws a fit in stage 3 ?

Sort of has me thinking something strange is truely afoot here.

May as well get this dragged out into the open. This is an old Red Hat
Enterprise Linux 6 machine and there is just no way at all to install
anything from any repo ever again. Anything needed has to be built from
sources. Not a problem given very little is actually needed.  A more up
to date compiler would be nice.

The source tree was extracted along with the sources to gmp/mpfr/mpc and
the isl lib into the tree in the prescribed and described manner. No
tricks or anything there.

Configure :

$mimas ../gcc-9.4.0/configure --prefix=/opt/gcc/imed/gcc9 \
--disable-multilib --disable-nls --enable-threads=posix \
--enable-shared --enable-bootstrap \
--enable-languages=c,c++,fortran
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /bin/sed
checking for gawk... gawk
checking for libatomic support... yes
checking for libitm support... yes
checking for libsanitizer support... yes
checking for libvtv support... yes
checking for libhsail-rt support... yes
checking for libphobos support... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether g++ accepts -static-libstdc++ -static-libgcc... no
checking for gnatbind... no
checking for gnatmake... no
checking whether compiler driver understands Ada... no
checking how to compare bootstrapped objects... cmp --ignore-initial=16 $$f1 $$f2
checking for objdir... .libs
configure: WARNING: using in-tree isl, disabling version check
*** This configuration is not supported in the following subdirectories:
gnattools gotools target-libada target-libhsail-rt target-libphobos target-zlib target-libgo target-libffi target-libobjc target-liboffloadmic
    (Any other directories should still work fine.)
checking for default BUILD_CONFIG... bootstrap-debug
checking for --enable-vtable-verify... no
checking for bison... bison -y
checking for bison... bison
checking for gm4... no
checking for gnum4... no
checking for m4... m4
checking for flex... flex
checking for flex... flex
checking for makeinfo... no
/opt/bw/build/gcc-9.4.0/missing: line 81: makeinfo: command not found
checking for expect... no
checking for runtest... no
checking for ar... ar
checking for as... as
checking for dlltool... no
checking for ld... ld
checking for lipo... no
checking for nm... nm
checking for ranlib... ranlib
checking for strip... strip
checking for windres... no
checking for windmc... no
checking for objcopy... objcopy
checking for objdump... objdump
checking for otool... no
checking for readelf... readelf
checking for cc... cc
checking for c++... c++
checking for gcc... gcc
checking for gfortran... gfortran
checking for gccgo... no
checking for gdc... no
checking for ar... no
checking for ar... ar
checking for as... no
checking for as... as
checking for dlltool... no
checking for dlltool... no
checking for ld... no
checking for ld... ld
checking for lipo... no
checking for lipo... no
checking for nm... no
checking for nm... nm
checking for objcopy... no
checking for objcopy... objcopy
checking for objdump... no
checking for objdump... objdump
checking for otool... no
checking for otool... no
checking for ranlib... no
checking for ranlib... ranlib
checking for readelf... no
checking for readelf... readelf
checking for strip... no
checking for strip... strip
checking for windres... no
checking for windres... no
checking for windmc... no
checking for windmc... no
checking where to find the target ar... host tool
checking where to find the target as... host tool
checking where to find the target cc... just compiled
checking where to find the target c++... just compiled
checking where to find the target c++ for libstdc++... just compiled
checking where to find the target dlltool... host tool
checking where to find the target gcc... just compiled
checking where to find the target gfortran... just compiled
checking where to find the target gccgo... host tool
checking where to find the target gdc... host tool
checking where to find the target ld... host tool
checking where to find the target lipo... host tool
checking where to find the target nm... host tool
checking where to find the target objcopy... host tool
checking where to find the target objdump... host tool
checking where to find the target otool... host tool
checking where to find the target ranlib... host tool
checking where to find the target readelf... host tool
checking where to find the target strip... host tool
checking where to find the target windres... host tool
checking where to find the target windmc... host tool
checking whether to enable maintainer-specific portions of Makefiles... no
configure: creating ./config.status
config.status: creating Makefile
mimas$

I doubt that makeinfo is a concern but who knows.

In any case the compile runs neatly all night long and then dies in
stage3 thus:

.
.
.
libtool: compile: /opt/bw/build/gcc-9.4.0_rhel6_amd64.001/./gcc/xgcc -shared-libgcc -B/opt/bw/build/gcc-9.4.0_rhel6_amd64.001/./gcc -nostdinc++ -L/opt/bw/build/gcc-9.4.0_rhel6_amd64.001/x86_64-pc-linux-gnu/libstdc++-v3/src -L/opt/bw/build/gcc-9.4.0_rhel6_amd64.001/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L/opt/bw/build/gcc-9.4.0_rhel6_amd64.001/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -B/opt/gcc/imed/gcc9/x86_64-pc-linux-gnu/bin/ -B/opt/gcc/imed/gcc9/x86_64-pc-linux-gnu/lib/ -isystem /opt/gcc/imed/gcc9/x86_64-pc-linux-gnu/include -isystem /opt/gcc/imed/gcc9/x86_64-pc-linux-gnu/sys-include -fchecking=1 -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DHAVE_RPC_XDR_H=1 -DHAVE_TIRPC_RPC_XDR_H=0 -I. -I../../../../gcc-9.4.0/libsanitizer/sanitizer_common -I.. -I ../../../../gcc-9.4.0/libsanitizer/include -isystem ../../../../gcc-9.4.0/libsanitizer/include/system -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/x86_64-pc-linux-gnu -I../../../../gcc-9.4.0/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11 -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I ../../../../gcc-9.4.0/libsanitizer/../libbacktrace -I ../libbacktrace -I ../../../../gcc-9.4.0/libsanitizer/../include -include ../../../../gcc-9.4.0/libsanitizer/libbacktrace/backtrace-rename.h -g -O2 -D_GNU_SOURCE -MT sanitizer_platform_limits_posix.lo -MD -MP -MF .deps/sanitizer_platform_limits_posix.Tpo -c ../../../../gcc-9.4.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc -fPIC -DPIC -o .libs/sanitizer_platform_limits_posix.o
In file included from /usr/include/features.h:361,
                 from /usr/include/arpa/inet.h:22,
from ../../../../gcc-9.4.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:24:
/usr/include/sys/timex.h:145:31: error: expected initializer before 'throw'
  145 |      __asm__ ("ntp_gettimex") __THROW;
      |                               ^~~~~~~
make[4]: *** [sanitizer_platform_limits_posix.lo] Error 1
make[4]: Leaving directory `/opt/bw/build/gcc-9.4.0_rhel6_amd64.001/x86_64-pc-linux-gnu/libsanitizer/sanitizer_common'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/opt/bw/build/gcc-9.4.0_rhel6_amd64.001/x86_64-pc-linux-gnu/libsanitizer'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/opt/bw/build/gcc-9.4.0_rhel6_amd64.001/x86_64-pc-linux-gnu/libsanitizer'
make[1]: *** [all-target-libsanitizer] Error 2
make[1]: Leaving directory `/opt/bw/build/gcc-9.4.0_rhel6_amd64.001'
make: *** [bootstrap] Error 2
mimas$
mimas$ echo $?
2
mimas$

There the process blows up in stage 3.

mimas$ cat stage_current
stage3
mimas$

Maybe there are some CFLAGS that can get around this somewhere?

Any thoughts at all from anywhere would be great.


--
Dennis Clarke



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux