Thank you for your help, Fredrik. Bug filed here: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74455
Laurent On Mon, 18 Nov 2024 at 19:49, Fredrik Salomonsson <platt...@posteo.net> wrote: > > Hi, > > Laurent Gatto <laurent.ga...@gmail.com> writes: > > > On Sat, 16 Nov 2024 at 11:56, Laurent Gatto <laurent.ga...@gmail.com> wrote: > >> > >> Hi Fredrik, > >> > >> Excellent advice, and I was able to identify the culprit. > > Awesome! > > >> Here's a simple reproducible example > >> > >> $ guix shell --container gcc-toolchain > >> [env]$ g++ main.cpp > >> [env]$ exit > >> > >> $ guix shell --container gcc-toolchain gfortran-toolchain > >> [env]$ g++ main.cpp > >> In file included from > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/bits/move.h:57, > >> from > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/bits/exception_ptr.h:43, > >> from > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/exception:153, > >> from > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/ios:39, > >> from > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/ostream:38, > >> from > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/iostream:39, > >> from main.cpp:1: > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/type_traits:732:26: > >> error: expected identifier before '(' token > >> 732 | _GLIBCXX20_DEPRECATED("use is_standard_layout && > >> is_trivial instead") > >> | ^ > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/type_traits:732:27: > >> error: expected unqualified-id before string constant > >> 732 | _GLIBCXX20_DEPRECATED("use is_standard_layout && > >> is_trivial instead") > >> | > >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/type_traits:732:27: > >> error: expected ')' before string constant > >> 732 | _GLIBCXX20_DEPRECATED("use is_standard_layout && > >> is_trivial instead") > >> | > >> ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> | ) > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/type_traits:3154:25: > >> error: expected unqualified-id before string constant > >> 3154 | _GLIBCXX20_DEPRECATED("use is_standard_layout_v && > >> is_trivial_v instead") > >> | > >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> /gnu/store/68l504nyvms77jzfg9yf4njiyfbi8gm2-profile/include/c++/type_traits:3154:25: > >> error: expected ')' before string constant > >> 3154 | _GLIBCXX20_DEPRECATED("use is_standard_layout_v && > >> is_trivial_v instead") > >> | > >> ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> | ) > > > > The order of the packages does matter. The above fails, but if I pass > > gfortran-toolchain before gcc-toolchain, it works: > > > > $ guix shell --container gfortran-toolchain gcc-toolchain > > [env]$ g++ main.cpp > > [env]$ ./a.out > > 201703 > > > > Is this really expected? > > This sounds like a bug. Especially if it is order dependent if it works > or not. And I can confirm that I can reproduce it on my end as well. > > >> I also confirmed that I was able to compile that source code by simply > >> commenting gfortran-toolchain in my system manifest. > >> > >> Isn't this weird though? What if I need both? > > It should work to have both in the same context. Probably some issue > with how they are package up — I haven't checked the packaging for them. > But I have built gcc from source with both g++ and gfortran without any > issues. That was gcc-9 and gcc-11 so maybe something broke in upstream > with gcc-14? Although I find that unlikely. > > Anyway, best is to send in a bug report to guix now that you have a > small reproducible test that show case the issue. > > -- > s/Fred[re]+i[ck]+/Fredrik/g