Я нашел ту же ошибку.В шапке / opt / csw / lib / gcc / sparc-sun-solaris2.10 / 5.5.0 / include-fixed / math.h я заменил строку:
#if __cplusplus >= 201103L
using std::float_t;
с
#if 0 && __cplusplus >= 201103L
using std::float_t;
Обновление от 24 апреля 2019 - @ Эндрю Хенле хочет, чтобы вы знали
If you are attempting to compile C++11 on an unpatched, unupdated
installation of Solaris 10, and are presenting this as a "fix",
you do not understand what you are doing.
@ Эндрю Хенле говорит, что есть патч «соляриса», которыйисправляет csw / include / c ++ / ... / cmath и csw / lib / gcc /..../ math.h, но как этот патч влияет на установку заголовков csw, неизвестно и не указано.
Обновление 26 апреля 2019
Я собрал новые binutils и gcc-5.5.0, используя установку csw gcc, используя следующие пакеты:
binutils-2.27.tar.bz2
cloog-0.18.1.tar.gz
gcc-5.5.0.tar.gz
gmp-5.1.2.tar.xz
mpc-1.0.1.tar.gz
mpfr-3.1.2.tar.xz
Сначала соберите binutils,
../configure --prefix=$TARGET_PATH/sx64
make
make install
Я использовал следующую конфигурацию для gcc:
../configure --prefix=$TARGET_PATH/sx64 --enable-languages=c,c++ --enable-threads=posix --enable-version-specific-runtime-libs --disable-libsanitizer --with-as=$TARGET_PATH/sx64/bin/as --with-ld=$TARGET_PATH/sx64/bin/ld --with-gnu-ld --with-gnu-as
make bootstrap
make install
Вы должны использовать --with-as и --with-ld, чтобы заставить gcc использовать встроенную версию binutilsвместо неработающих версий системы.
При использовании этого компилятора у меня не было проблем с компиляцией корректного кода c ++ - 11.