Re: 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]

 



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






[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