I’m seeing gcc 8.3.0 installed on one of our internal systems (CLE 6 UP07): > module avail gcc ------------------------------------------- /opt/modulefiles ------------------------------------------- gcc/4.8.2 gcc/6.2.0 gcc/8.1.0 gcc/4.9.3 gcc/6.3.0 gcc/8.2.0 gcc/5.1.0 gcc/7.1.0 gcc/8.3.0(default) gcc/5.3.0 gcc/7.2.0 gcc-cross-aarch64/6.1.0(default) gcc/6.1.0 gcc/7.3.0 Can the site get the pre-built version from CrayPort? Cheers, Bill > On May 8, 2019, at 4:46 PM, Jonathan Wakely <jwakely.gcc@xxxxxxxxx> wrote: > > On Sat, 2 Mar 2019 at 08:20, Oppe, Thomas C ERDC-RDE-ITL-MS Contractor > via gcc-help <gcc-help@xxxxxxxxxxx> wrote: >> >> Dear Sir: >> >> My build of GCC 8.3.0 fails on certain Cray systems having an older >> "/usr/include/sys/sdt.h" file. The error messages are: >> >> In file included from >> /p/tds/work/oppe/gcc-8.3.0/libstdc++-v3/libsupc++/unwind-cxx.h:41, >> from >> /p/tds/work/oppe/gcc-8.3.0/libstdc++-v3/libsupc++/eh_catch.cc:26: >> /p/tds/work/oppe/gcc-8.3.0/libstdc++-v3/libsupc++/eh_catch.cc: In function >> 'void* __cxxabiv1::__cxa_begin_catch(void*)': >> /p/tds/work/oppe/gcc-8.3.0/libstdc++-v3/libsupc++/unwind-cxx.h:45:34: error: >> unable to find string literal operator 'operator""_SDT_S' with 'const char >> [37]', 'long unsigned int' arguments >> #define PROBE2(name, arg1, arg2) STAP_PROBE2 (libstdcxx, name, arg1, arg2) >> ^~~~~~~~~~~ >> /p/tds/work/oppe/gcc-8.3.0/libstdc++-v3/libsupc++/eh_catch.cc:84:3: note: in >> expansion of macro 'PROBE2' >> PROBE2 (catch, objectp, header->exceptionType); >> ^~~~~~ > > That should have been fixed in 2013 by https://gcc.gnu.org/r197649 so > I don't know why you're seeing it with GCC 8.3.0 > > > >> /p/tds/work/oppe/gcc-8.3.0/libstdc++-v3/libsupc++/unwind-cxx.h:45:34: error: >> unable to find string literal operator 'operator""_SDT_S' with 'const char >> [51]', 'long unsigned int' arguments >> #define PROBE2(name, arg1, arg2) STAP_PROBE2 (libstdcxx, name, arg1, arg2) >> ^~~~~~~~~~~ >> /p/tds/work/oppe/gcc-8.3.0/libstdc++-v3/libsupc++/eh_catch.cc:84:3: note: in >> expansion of macro 'PROBE2' >> PROBE2 (catch, objectp, header->exceptionType); >> ^~~~~~ >> make[5]: *** [eh_catch.lo] Error 1 >> make[5]: Leaving directory >> `/p/tds/work/oppe/gcc_workdir/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++' >> make[4]: *** [all-recursive] Error 1 >> make[4]: Leaving directory >> `/p/tds/work/oppe/gcc_workdir/x86_64-pc-linux-gnu/libstdc++-v3' >> make[3]: *** [all] Error 2 >> make[3]: Leaving directory >> `/p/tds/work/oppe/gcc_workdir/x86_64-pc-linux-gnu/libstdc++-v3' >> make[2]: *** [all-stage1-target-libstdc++-v3] Error 2 >> make[2]: Leaving directory `/p/tds/work/oppe/gcc_workdir' >> make[1]: *** [stage1-bubble] Error 2 >> make[1]: Leaving directory `/p/tds/work/oppe/gcc_workdir' >> make: *** [all] Error 2 >> >> I found a web page dealing with this problem: >> >> http://www.memoryhole.net/kyle/2013/04/building_gcc_48_on_rhel58.html >> >> Maybe one solution is to modify a line in the file >> >> gcc-8.3.0/libstdc++-v3/config.h.in >> >> to edit the lines 436-7 >> >> /* Define to 1 if you have a suitable <sys/sdt.h> header file */ >> #undef HAVE_SYS_SDT_H >> >> and comment line 437 >> >> /*#undef HAVE_SYS_SDT_H*/ >> >> Is there a better solution than changing the GCC 8.3.0 tar file? > > Temporarily uninstall the systemtap headers? Bill Long longb@xxxxxxxx Principal Engineer, Fortran Technical Support & voice: 651-605-9024 Bioinformatics Software Development fax: 651-605-9143 Cray Inc./ 2131 Lindau Lane/ Suite 1000/ Bloomington, MN 55425