Created attachment 8176 [details] main.cpp При сборке приложения на C++, использующего boost, gcc8-c++ выдаёт ошибки там, где он не должен этого делать, при использовании флага -std=c++17. Воспроизведение: 1. apt-get install gcc8-c++ boost-complete 2. gcc8-c++ main.cpp -std=c++17 -c -o main.o Результат: /usr/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp:466:67: error: template parameter ‘template<class T1, class T2, class T3> class F’ template< template< typename T1, typename T2, typename T3 > class F, typename Tag > /usr/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp:64:8: error: redeclared here as ‘template<class P1, class P2, class P3> class F’ struct quote3 Ожидаемый результат: Успешная сборка исходного кода Также данный код успешно собирается следующими командами: gcc8-c++ main.cpp -std=c++14 -c -o main.o gcc7-c++ main.cpp -std=c++17 -c -o main.o clang++ main.cpp -std=c++17 -c -o main.o Данная проблема проявляется при попытке собрать clickhouse с помощью gcc-8 вместо clang: http://git.altlinux.org/people/darktemplar/packages/clickhouse.git См. также: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926371 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926234 Применение данного патча из Debian исправляет проблему: https://salsa.debian.org/toolchain-team/gcc/blob/gcc-8-debian/debian/patches/pr88419-revert.diff
gcc8-8.3.1-alt5 -> sisyphus: Mon Aug 05 2019 Gleb F-Malinovskiy <glebfm@altlinux> 8.3.1-alt5 - Applied upstream fix for PR 89906 (closes: #36972). - Removed versioning of lib{cc1,cc1plugin,cp1plugin} libraries (closes: #36046). Tue May 07 2019 Dmitry V. Levin <ldv@altlinux> 8.3.1-alt4 - Updated to redhat/gcc-8-branch r270976 (Fedora gcc-8.3.1-4).
С новым gcc собирается нормально.
gcc9-9.2.1-alt1 -> icarus: * Tue Oct 08 2019 Gleb F-Malinovskiy <glebfm@altlinux> 9.2.1-alt1 - Updated to redhat/gcc-9-branch r274959. - Synced with Fedora gcc 9.2.1-1 and Debian gcc-9 9.2.1-9. * Mon Aug 05 2019 Gleb F-Malinovskiy <glebfm@altlinux> 8.3.1-alt5 - Applied upstream fix for PR 89906 (closes: #36972). - Removed versioning of lib{cc1,cc1plugin,cp1plugin} libraries (closes: #36046).