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. > > 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? > 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? > > > Laurent