developer/gcc-49 installs incorrect os_defines.h
The developer/gcc-49 package installs an incorrect version of /usr/gcc/4.9/include/c++/4.9.4/i386-pc-solaris2.11/bits/os_defines.h . This file contains the following text:
/* Solaris 9 uses the non-standard CLOCK_HIGHRES instead. */ #ifndef CLOCK_MONOTONIC #define CLOCK_MONOTONIC CLOCK_HIGHRES #endif
This is incorrect for Solaris 11, for illumos, and for OI. The /usr/include/sys/time_impl.h file already contains the necessary definitions of these two symbols.
Fortunately, this incorrect information only affects c++ builds. This error results:
.../proto/root_i386/usr/include/sys/time_impl.h:124:0: error: "CLOCK_MONOTONIC" redefined [-Werror] #define CLOCK_MONOTONIC 4 /* high resolution monotonic clock */ ^
I don't know if other gcc packages install this same incorrect file, but if so the erroneous definitions should be deleted from all of them.
Updated by Gary Mills over 2 years ago
I just checked a few other gcc packages for OI Hipster. The erroneous lines only appear in the os_defines.h file for gcc-4.9 . They don't appear for earlier or later gcc versions. (I checked 4.8 and 6.3). Is there some way we can tell people not to use gcc-4.9?