GCC 8.3.0 build fails on Cray systems with an older "/usr/include/sys/sdt.h" version

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

 



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);
   ^~~~~~
/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?

Thank you.

Tom Oppe

Attachment: smime.p7s
Description: S/MIME cryptographic signature


[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