https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100240
Eduard Rozenberg <ed.gcc at pobox dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ed.gcc at pobox dot com --- Comment #9 from Eduard Rozenberg <ed.gcc at pobox dot com> --- I run into similar errors (probably the same issue), when trying to use Nvidia NCCL. For ex. when trying to run `make` on the nccl tests (https://github.com/NVIDIA/nccl-tests.git), I get: nccl-tests/src' Compiling all_reduce.cu > ../build/all_reduce.o /usr/include/c++/10.3.0/chrono: In substitution of ‘template<class _Rep, class _Period> template<class _Period2> using __is_harmonic = std::__bool_constant<(std::ratio<((_Period2::num / std::chrono::duration<_Rep, _Period>::_S_gcd(_Period2::num, _Period::num)) * (_Period::den / std::chrono::duration<_Rep, _Period>::_S_gcd(_Period2::den, _Period::den))), ((_Period2::den / std::chrono::duration<_Rep, _Period>::_S_gcd(_Period2::den, _Period::den)) * (_Period::num / std::chrono::duration<_Rep, _Period>::_S_gcd(_Period2::num, _Period::num)))>::den == 1)> [with _Period2 = _Period2; _Rep = _Rep; _Period = _Period]’: /usr/include/c++/10.3.0/chrono:473:154: required from here /usr/include/c++/10.3.0/chrono:428:27: internal compiler error: Segmentation fault 428 | _S_gcd(intmax_t __m, intmax_t __n) noexcept | ^~~~~~ Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. make[1]: *** [Makefile:84: ../build/all_reduce.o] Error 1 And I get build errors when trying to build pytorch since it also tries to use Nvidia nccl. The following might be relevant/related but can't tell for sure: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100101 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100102 Even if the issue eventually gets fixed in GCC 11/12, what will the solution be for GCC 10.3 (10.x) users? Asking because it normally takes operating systems and Nvidia months or years to move to or support the next major GCC version, and in particular it's recommended to use the same GCC version as the operating system's kernel is built with, so I wouldn't be able to decide to just use GCC 11 or 12.