[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: C++ error
From: |
Fredrik Salomonsson |
Subject: |
Re: C++ error |
Date: |
Mon, 18 Nov 2024 18:49:11 +0000 |
Hi,
Laurent Gatto <laurent.gatto@gmail.com> writes:
> 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.
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
- C++ error, Laurent Gatto, 2024/11/12
- Re: C++ error, Fredrik Salomonsson, 2024/11/12
- Re: C++ error, Laurent Gatto, 2024/11/12
- Re: C++ error, Fredrik Salomonsson, 2024/11/12
- Re: C++ error, Laurent Gatto, 2024/11/13
- Re: C++ error, Fredrik Salomonsson, 2024/11/13
- Re: C++ error, Laurent Gatto, 2024/11/13
- Re: C++ error, Fredrik Salomonsson, 2024/11/14
- Re: C++ error, Laurent Gatto, 2024/11/16
- Re: C++ error, Laurent Gatto, 2024/11/16
- Re: C++ error,
Fredrik Salomonsson <=
- Re: C++ error, Laurent Gatto, 2024/11/21