help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: C++ error


From: Laurent Gatto
Subject: Re: C++ error
Date: Sat, 16 Nov 2024 14:19:04 +0100

On Sat, 16 Nov 2024 at 11:56, Laurent Gatto <laurent.gatto@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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]