Received: (at submit) by debbugs.gnu.org; 24 Aug 2020 15:23:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 24 11:23:53 2020
Received: from localhost ([127.0.0.1]:58923 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1kAEK7-0005Eo-U5
for submit <at> debbugs.gnu.org; Mon, 24 Aug 2020 11:23:53 -0400
Received: from lists.gnu.org ([209.51.188.17]:34714)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <emmanuel.agullo@HIDDEN>) id 1kAClZ-0003vr-Tx
for submit <at> debbugs.gnu.org; Mon, 24 Aug 2020 09:44:07 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:57964)
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <emmanuel.agullo@HIDDEN>)
id 1kAClZ-0004cs-Ky
for bug-guix@HIDDEN; Mon, 24 Aug 2020 09:44:05 -0400
Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:24606)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <emmanuel.agullo@HIDDEN>)
id 1kAClV-0004pX-Ny
for bug-guix@HIDDEN; Mon, 24 Aug 2020 09:44:05 -0400
X-IronPort-AV: E=Sophos;i="5.76,348,1592863200";
d="scan'208,217";a="464491747"
X-MGA-submission: =?us-ascii?q?MDG+LeoxqlOJf3u2orZndCLq9hEgG1Ad4D0zf7?=
=?us-ascii?q?yJ2LT9gEGJR6dlV8oIHpoOGJia7QyUcd5bKO6dCc6mXnwFqpHT6wdP0R?=
=?us-ascii?q?jgYLkrxoFSMt2LlQqGNO5JAq4WRjEGq/xfjYp1fjrzeNKbJBWQlpdRpy?=
=?us-ascii?q?wyFguVyY6N1zp2gqb3jp2sVg=3D=3D?=
Received: from zcs-store4.inria.fr ([128.93.142.31])
by mail2-relais-roc.national.inria.fr with ESMTP; 24 Aug 2020 15:43:57 +0200
Date: Mon, 24 Aug 2020 15:43:57 +0200 (CEST)
From: Emmanuel Agullo <emmanuel.agullo@HIDDEN>
To: bug-guix@HIDDEN
Message-ID: <109069324.10892414.1598276637610.JavaMail.zimbra@HIDDEN>
Subject: clang++ in a {clang-toolchain + gcc-toolchain} environment
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="=_31f9a8b4-834e-42a7-9635-94f73c30bc07"
X-Originating-IP: [194.199.1.36]
X-Mailer: Zimbra 8.8.15_GA_3955 (ZimbraWebClient - [unknown]
(Linux)/8.8.15_GA_3953)
Thread-Index: ClVmDmgjOCbN2ihQ7ZVD5U9CtKDWxg==
Thread-Topic: clang++ in a {clang-toolchain + gcc-toolchain} environment
Received-SPF: pass client-ip=192.134.164.83;
envelope-from=emmanuel.agullo@HIDDEN;
helo=mail2-relais-roc.national.inria.fr
X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/24 07:22:04
X-ACL-Warn: Detected OS = ???
X-Spam_score_int: -68
X-Spam_score: -6.9
X-Spam_bar: ------
X-Spam_report: (-6.9 / 5.0 requ) BAYES_00=-1.9, HTML_MESSAGE=0.001,
RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001,
SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Mon, 24 Aug 2020 11:23:49 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)
--=_31f9a8b4-834e-42a7-9635-94f73c30bc07
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Hello,
A typical "hello world" C++ fails in an environment with both
`gcc-toolchain' and `clang-toolchain', apperently due to the setup of
the `CPLUS_INCLUDE_PATH' environment variable (used because of the
`#include <iostream>' instruction), when compiling with `clang++'.
I do not know if this is a bug or the expected behaviour. Obviously one
is not likely to explicitly load an environment with both `gcc-toolchain'
and `clang-toolchain' but migth do so implictly (and possibly not being
aware of it) for instance having `gcc-toolchain' globally installed and
at some point loading `clang-toolchain' in an environment.
Note that it is not critical at all in practice in my case, and I do
not know whether it it is desirable to fix it in some way, or, maybe
mention the incompatibility somewhere
(<https://guix.gnu.org/manual/en/html_node/Development.html> ?) if not
already done so – in which case I am sorry for the noise.
Please find below:
1. a simplified C++ "hello world" hello.cpp program
2. an expected g++ behaviour in a `gcc-toolchain' environment
3. an expected clang++ behaviour in a `clang-toolchain' environment
4. an environment with both `gcc-toolchain' & `clang-toolchain'
- 4.1. with an expected behaviour using `g++'
- 4.2. with an (expected or not?) error using `clang++'
- 4.3. a (non desirable) fix of the `CPLUS_INCLUDE_PATH' (removing
`/gnu/store/…/include/c++')
5. the employed channels if it may help
Thanks much for the continous development and support, and once
again sorry for the possible noise if this is a known expected
behaviour.
With best regards,
Emmanuel
1 simplified (no newline) C++ "hello world" hello.cpp program
═════════════════════════════════════════════════════════════
┌────
│ #include <iostream>
│
│ int main() {
│ std::cout << "Hello World!";
│ return 0;
│ }
└────
2 `gcc-toolchain' environment
═════════════════════════════
┌────
│ guix environment -C --ad-hoc gcc-toolchain coreutils grep
│ env | grep CPLUS_INCLUDE_PATH
│ g++ hello.cpp
│ ./a.out
└────
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CPLUS_INCLUDE_PATH=/gnu/store/gsylxn8q06w6y7622nw159f3q1vvcx2i-profile/include/c++:/gnu/store/gsylxn8q06w6y7622nw159f3q1vvcx2i-profile/include
Hello World!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3 `clang-toolchain' environment
═══════════════════════════════
┌────
│ guix environment -C --ad-hoc clang-toolchain coreutils grep
│ env | grep CPLUS_INCLUDE_PATH
│ clang++ hello.cpp
│ ./a.out
└────
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CPLUS_INCLUDE_PATH=/gnu/store/8qlafmilvc0g1yv8lmilpjmps3p4nrmq-profile/include
Hello World!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4 environment with both `gcc-toolchain' & `clang-toolchain'
═══════════════════════════════════════════════════════════
4.1 compilation with `g++'
──────────────────────────
`g++' in an environment with both gcc and clang toolchains is fine:
┌────
│ guix environment -C --ad-hoc gcc-toolchain clang-toolchain coreutils grep
│ env | grep CPLUS_INCLUDE_PATH
│ g++ hello.cpp
│ ./a.out
└────
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CPLUS_INCLUDE_PATH=/gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++:/gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include
Hello World!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4.2 compilation with `clang++' (FAIL)
─────────────────────────────────────
But `clang++' in the same environment (with both gcc and clang
toolchains) breaks, raising the following error:
┌────
│ guix environment -C --ad-hoc gcc-toolchain clang-toolchain coreutils grep
│ clang++ hello.cpp
└────
Error obtained during the `clang++ hello.cpp' step:
┌────
│ In file included from hello.cpp:1:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/iostream:39:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ostream:38:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ios:39:
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/exception:105:3: error: unknown type name '_GLIBCXX17_DEPRECATED'
│ _GLIBCXX17_DEPRECATED
│ ^
│ In file included from hello.cpp:1:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/iostream:39:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ostream:38:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ios:39:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/exception:147:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/bits/exception_ptr.h:40:
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:126:1: error: unknown type name '_GLIBCXX_NODISCARD'
│ _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:128:1: error: unknown type name '_GLIBCXX_NODISCARD'
│ _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:140:1: error: unknown type name '_GLIBCXX_NODISCARD'
│ _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:142:1: error: unknown type name '_GLIBCXX_NODISCARD'
│ _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:174:1: error: unknown type name '_GLIBCXX_NODISCARD'
│ _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:175:10: error: cannot initialize return object of type 'int *' with an lvalue of type 'void *'
│ { return __p; }
│ ^~~
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:176:1: error: unknown type name '_GLIBCXX_NODISCARD'
│ _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:177:10: error: cannot initialize return object of type 'int *' with an lvalue of type 'void *'
│ { return __p; }
│ ^~~
│ In file included from hello.cpp:1:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/iostream:39:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ostream:38:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ios:39:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/exception:148:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/bits/nested_exception.h:40:
│ In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/bits/move.h:57:
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:696:27: error: expected unqualified-id
│ _GLIBCXX20_DEPRECATED("use is_standard_layout && is_trivial instead")
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:696:27: error: expected ')'
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:696:26: note: to match this '('
│ _GLIBCXX20_DEPRECATED("use is_standard_layout && is_trivial instead")
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2648:5: error: unknown type name '_GLIBCXX20_CONSTEXPR'
│ _GLIBCXX20_CONSTEXPR
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2650:5: error: no variable template matches partial specialization
│ _Require<__not_<__is_tuple_like<_Tp>>,
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2652:31: error: expected ';' at end of declaration
│ is_move_assignable<_Tp>>
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2653:10: error: unknown type name '_Tp'
│ swap(_Tp&, _Tp&)
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2653:16: error: unknown type name '_Tp'
│ swap(_Tp&, _Tp&)
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2654:51: error: use of undeclared identifier '_Tp'
│ noexcept(__and_<is_nothrow_move_constructible<_Tp>,
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2654:55: error: expected a type
│ noexcept(__and_<is_nothrow_move_constructible<_Tp>,
│ ^
│ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2653:5: error: C++ requires a type specifier for all declarations
│ swap(_Tp&, _Tp&)
│ ^
│ fatal error: too many errors emitted, stopping now [-ferror-limit=]
│ 20 errors generated.
└────
4.3 (non desirable) fix of the `CPLUS_INCLUDE_PATH' (removing `/gnu/store/.../include/c++')
───────────────────────────────────────────────────────────────────────────────────────────
For information, it is possible (but obviously in general not
desirable) to fix the `CPLUS_INCLUDE_PATH' variable (removing
`/gnu/store/.../include/c++'), which leads to a correct compilation
(and execution).
┌────
│ guix environment -C --ad-hoc gcc-toolchain clang-toolchain coreutils grep
│ export CPLUS_INCLUDE_PATH=/gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include
│ clang++ hello.cpp
│ ./a.out
└────
┌────
│ Hello World!
└────
5 channels
══════════
┌────
│ guix describe --format=channels
└────
┌────
│ (list (channel
│ (name 'guix-hpc)
│ (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")
│ (commit
│ "fa87605fe93fb85b02dad9db246299bcf223f2e0"))
│ (channel
│ (name 'guix-hpc-non-free)
│ (url "https://gitlab.inria.fr/guix-hpc/guix-hpc-non-free.git")
│ (commit
│ "43d8cb72144a183aa7a93499f9c59ec0f84244b0"))
│ (channel
│ (name 'guix)
│ (url "https://git.savannah.gnu.org/git/guix.git")
│ (commit
│ "c6872990b51971922f3064cba54ab752fcdc1559")
│ (introduction
│ (make-channel-introduction
│ "9edb3f66fd807b096b48283debdcddccfea34bad"
│ (openpgp-fingerprint
│ "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))
└────
--=_31f9a8b4-834e-42a7-9635-94f73c30bc07
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<html><body><div style=3D"font-family: arial, helvetica, sans-serif; font-s=
ize: 12pt; color: #000000"><div>Hello,<br><br>A typical "hello world" C++ f=
ails in an environment with both<br>`gcc-toolchain' and `clang-toolchain', =
apperently due to the setup of<br>the `CPLUS_INCLUDE_PATH' environment vari=
able (used because of the<br>`#include <iostream>' instruction), when=
compiling with `clang++'.<br><br>I do not know if this is a bug or the exp=
ected behaviour. Obviously one </div><div>is not likely to explicitly load =
an environment with both `gcc-toolchain' </div><div>and `clang-toolchain' b=
ut migth do so implictly (and possibly not being<br>aware of it) for instan=
ce having `gcc-toolchain' globally installed and<br>at some point loading `=
clang-toolchain' in an environment.<br><br>Note that it is not critical at =
all in practice in my case, and I do<br>not know whether it it is desirable=
to fix it in some way, or, maybe<br>mention the incompatibility somewhere<=
br>(<https://guix.gnu.org/manual/en/html_node/Development.html> ?) if=
not<br>already done so =E2=80=93 in which case I am sorry for the noise.<b=
r><br>Please find below:<br>1. a simplified C++ "hello world" hello.cpp pro=
gram<br>2. an expected g++ behaviour in a `gcc-toolchain' environment<br>3.=
an expected clang++ behaviour in a `clang-toolchain' environment<br>4. an =
environment with both `gcc-toolchain' & `clang-toolchain'<br>- 4.1. wit=
h an expected behaviour using `g++'<br>- 4.2. with an (expected or not?) er=
ror using `clang++'<br>- 4.3. a (non desirable) fix of the `CPLUS_INCLUDE_P=
ATH' (removing<br> `/gnu/store/=E2=80=A6/include/c++')<br>5. the empl=
oyed channels if it may help<br><br>Thanks much for the continous developme=
nt and support, and once</div><div>again sorry for the possible noise if th=
is is a known expected</div><div>behaviour.<br><br>With best regards,<br><b=
r>Emmanuel<br><br><br>1 simplified (no newline) C++ "hello world" hello.cpp=
program<br>=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=
=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=
=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=
=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=
=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=
=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=
=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=
=E2=95=90=E2=95=90=E2=95=90=E2=95=90<br><br> =E2=94=8C=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80<br> =E2=94=82 #include <iostream><br>&nbs=
p; =E2=94=82 <br> =E2=94=82 int main() {<br> =E2=94=82 &nb=
sp; std::cout << "Hello World!";<br> =E2=94=82 =
; return 0;<br> =E2=94=82 }<br> =E2=94=94=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80<br><br><br>2 `gcc-toolchain' environment<=
br>=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=
=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=
=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=
=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90<br><br> =E2=94=8C=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80<br> =E2=94=82 guix environment -C --ad-hoc g=
cc-toolchain coreutils grep<br> =E2=94=82 env | grep CPLUS_INCLUDE_PA=
TH<br> =E2=94=82 g++ hello.cpp<br> =E2=94=82 ./a.out<br> =
=E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br><br> =E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81<br> CPLUS_INCLUDE_PATH=3D/gnu/store/gsylxn8q06w6y7622nw159f=
3q1vvcx2i-profile/include/c++:/gnu/store/gsylxn8q06w6y7622nw159f3q1vvcx2i-p=
rofile/include <br> &n=
bsp; Hello  =
; &n=
bsp;  =
; &n=
bsp;  =
; &n=
bsp;  =
; &n=
bsp;  =
; &n=
bsp;  =
; World! <br> =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81<br><br><br>3 `clang-too=
lchain' environment<br>=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=
=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=
=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=
=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=
=90<br><br> =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br> =
=E2=94=82 guix environment -C --ad-hoc clang-toolchain coreutils grep<br>&n=
bsp; =E2=94=82 env | grep CPLUS_INCLUDE_PATH<br> =E2=94=82 clang++ he=
llo.cpp<br> =E2=94=82 ./a.out<br> =E2=94=94=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80<br><br> =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
<br> CPLUS_INCLUDE_PATH=3D/gnu/store/8qlafmilvc0g1yv8lmilpjmps3=
p4nrmq-profile/include <br>=
Hello &nb=
sp; =
&nb=
sp; =
&nb=
sp; =
World! <br> =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
<br><br><br>4 environment with both `gcc-toolchain' & `clang-toolchain'=
<br>=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=
=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=
=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=
=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=
=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=
=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=
=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=
=90=E2=95=90<br><br>4.1 compilation with `g++'<br>=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br><br> =
`g++' in an environment with both gcc and clang toolchains is fine:<br>&nbs=
p; =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br> =E2=94=82 guix e=
nvironment -C --ad-hoc gcc-toolchain clang-toolchain coreutils grep<br>&nbs=
p; =E2=94=82 env | grep CPLUS_INCLUDE_PATH<br> =E2=94=82 g++ hello.cp=
p<br> =E2=94=82 ./a.out<br> =E2=94=94=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80<br><br> =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81<br> CPLUS_INCLUDE=
_PATH=3D/gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++:/gn=
u/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include &=
nbsp; <br> Hello  =
; &n=
bsp;  =
; &n=
bsp;  =
; &n=
bsp;  =
; &n=
bsp;  =
; &n=
bsp;  =
; World! <br> =
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=
=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=
=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
=E2=94=81=E2=94=81<br><br><br>4.2 compilation with `clang++' (FAIL)<br>=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80<br><br> But `clang++' in the same envi=
ronment (with both gcc and clang<br> toolchains) breaks, raising the =
following error:<br> =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br=
> =E2=94=82 guix environment -C --ad-hoc gcc-toolchain clang-toolchai=
n coreutils grep<br> =E2=94=82 clang++ hello.cpp<br> =E2=94=94=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br><br> Error obtained during th=
e `clang++ hello.cpp' step:<br> =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80<br> =E2=94=82 In file included from hello.cpp:1:<br> =
=E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z=
-profile/include/c++/iostream:39:<br> =E2=94=82 In file included from=
/gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ostream:38=
:<br> =E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nld=
x7ldpxppn29z-profile/include/c++/ios:39:<br> =E2=94=82 /gnu/store/3ka=
3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/exception:105:3: error: u=
nknown type name '_GLIBCXX17_DEPRECATED'<br> =E2=94=82 _G=
LIBCXX17_DEPRECATED<br> =E2=94=82 ^<br> =E2=94=82 I=
n file included from hello.cpp:1:<br> =E2=94=82 In file included from=
/gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/iostream:3=
9:<br> =E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nl=
dx7ldpxppn29z-profile/include/c++/ostream:38:<br> =E2=94=82 In file i=
ncluded from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c+=
+/ios:39:<br> =E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk=
6ac84nldx7ldpxppn29z-profile/include/c++/exception:147:<br> =E2=94=82=
In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/=
include/c++/bits/exception_ptr.h:40:<br> =E2=94=82 /gnu/store/3ka3a9w=
gx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:126:1: error: unknown typ=
e name '_GLIBCXX_NODISCARD'<br> =E2=94=82 _GLIBCXX_NODISCARD void* op=
erator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)<br> =E2=94=82=
^<br> =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/=
include/c++/new:128:1: error: unknown type name '_GLIBCXX_NODISCARD'<br>&nb=
sp; =E2=94=82 _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX=
_THROW (std::bad_alloc)<br> =E2=94=82 ^<br> =E2=94=82 /gnu/stor=
e/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:140:1: error: un=
known type name '_GLIBCXX_NODISCARD'<br> =E2=94=82 _GLIBCXX_NODISCARD=
void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NO=
EXCEPT<br> =E2=94=82 ^<br> =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac=
84nldx7ldpxppn29z-profile/include/c++/new:142:1: error: unknown type name '=
_GLIBCXX_NODISCARD'<br> =E2=94=82 _GLIBCXX_NODISCARD void* operator n=
ew[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT<br> =
; =E2=94=82 ^<br> =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn2=
9z-profile/include/c++/new:174:1: error: unknown type name '_GLIBCXX_NODISC=
ARD'<br> =E2=94=82 _GLIBCXX_NODISCARD inline void* operator new(std::=
size_t, void* __p) _GLIBCXX_USE_NOEXCEPT<br> =E2=94=82 ^<br> =
=E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/n=
ew:175:10: error: cannot initialize return object of type 'int *' with an l=
value of type 'void *'<br> =E2=94=82 { return __p; }<br> =E2=94=
=82 ^~~<br> =E2=
=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:=
176:1: error: unknown type name '_GLIBCXX_NODISCARD'<br> =E2=94=82 _G=
LIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBC=
XX_USE_NOEXCEPT<br> =E2=94=82 ^<br> =E2=94=82 /gnu/store/3ka3a9=
wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:177:10: error: cannot in=
itialize return object of type 'int *' with an lvalue of type 'void *'<br>&=
nbsp; =E2=94=82 { return __p; }<br> =E2=94=82 =
^~~<br> =E2=94=82 In file included fro=
m hello.cpp:1:<br> =E2=94=82 In file included from /gnu/store/3ka3a9w=
gx5sk6ac84nldx7ldpxppn29z-profile/include/c++/iostream:39:<br> =E2=94=
=82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profi=
le/include/c++/ostream:38:<br> =E2=94=82 In file included from /gnu/s=
tore/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ios:39:<br> =
=E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29=
z-profile/include/c++/exception:148:<br> =E2=94=82 In file included f=
rom /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/bits/ne=
sted_exception.h:40:<br> =E2=94=82 In file included from /gnu/store/3=
ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/bits/move.h:57:<br>&nbs=
p; =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c+=
+/type_traits:696:27: error: expected unqualified-id<br> =E2=94=82&nb=
sp; _GLIBCXX20_DEPRECATED("use is_standard_layout &&a=
mp; is_trivial instead")<br> =E2=94=82 &=
nbsp; &nbs=
p; ^<br> =E2=94=82 /g=
nu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:6=
96:27: error: expected ')'<br> =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84=
nldx7ldpxppn29z-profile/include/c++/type_traits:696:26: note: to match this=
'('<br> =E2=94=82 _GLIBCXX20_DEPRECATED("use=
is_standard_layout && is_trivial instead")<br> =E2=94=82&nbs=
p; &=
nbsp; ^<b=
r> =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/incl=
ude/c++/type_traits:2648:5: error: unknown type name '_GLIBCXX20_CONSTEXPR'=
<br> =E2=94=82 _GLIBCXX20_CONSTEXPR<br> =
=E2=94=82 ^<br> =E2=94=82 /gnu/store/3ka3a9w=
gx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2650:5: error: no=
variable template matches partial specialization<br> =E2=94=82 =
_Require<__not_<__is_tuple_like<_Tp>>,<br=
> =E2=94=82 ^<br> =E2=94=82 /gnu/store/=
3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2652:31: e=
rror: expected ';' at end of declaration<br> =E2=94=82 &nb=
sp; is_move_ass=
ignable<_Tp>><br> =E2=94=82 &nb=
sp; =
&nb=
sp; ^<br> =E2=94=82 /gnu/store/3k=
a3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2653:10: err=
or: unknown type name '_Tp'<br> =E2=94=82 swa=
p(_Tp&, _Tp&)<br> =E2=94=82 &nbs=
p; ^<br> =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx=
7ldpxppn29z-profile/include/c++/type_traits:2653:16: error: unknown type na=
me '_Tp'<br> =E2=94=82 swap(_Tp&, _Tp&=
;)<br> =E2=94=82  =
; ^<br> =E2=94=82 /gnu/store/3ka3=
a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2654:51: error=
: use of undeclared identifier '_Tp'<br> =E2=94=82 &=
nbsp; noexcept(__and_<is_nothrow_move_constructible<_Tp>,<br> =
; =E2=94=82 &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; ^<br> =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn2=
9z-profile/include/c++/type_traits:2654:55: error: expected a type<br> =
; =E2=94=82 noexcept(__and_<is_nothrow_move_cons=
tructible<_Tp>,<br> =E2=94=82 &nbs=
p; &=
nbsp; &nbs=
p; &=
nbsp; ^<br>&nbs=
p; =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c+=
+/type_traits:2653:5: error: C++ requires a type specifier for all declarat=
ions<br> =E2=94=82 swap(_Tp&, _Tp&)<b=
r> =E2=94=82 ^<br> =E2=94=82 fatal erro=
r: too many errors emitted, stopping now [-ferror-limit=3D]<br> =E2=
=94=82 20 errors generated.<br> =E2=94=94=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80<br><br><br>4.3 (non desirable) fix of the `CPLUS_INCLUDE_PATH' (r=
emoving `/gnu/store/.../include/c++')<br>=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br><br> For information, it is p=
ossible (but obviously in general not<br> desirable) to fix the `CPLU=
S_INCLUDE_PATH' variable (removing<br> `/gnu/store/.../include/c++'),=
which leads to a correct compilation<br> (and execution).<br><br>&nb=
sp; =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br> =E2=94=82 guix =
environment -C --ad-hoc gcc-toolchain clang-toolchain coreutils grep<br>&nb=
sp; =E2=94=82 export CPLUS_INCLUDE_PATH=3D/gnu/store/3ka3a9wgx5sk6ac84nldx7=
ldpxppn29z-profile/include<br> =E2=94=82 clang++ hello.cpp<br> =
=E2=94=82 ./a.out<br> =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80<b=
r><br> =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br> =E2=94=
=82 Hello World!<br> =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br=
><br><br>5 channels<br>=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90=E2=95=
=90=E2=95=90=E2=95=90=E2=95=90=E2=95=90<br><br> =E2=94=8C=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80<br> =E2=94=82 guix describe --format=3Dchann=
els<br> =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br><br> =
=E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80<br> =E2=94=82 (list (ch=
annel<br> =E2=94=82 (=
name 'guix-hpc)<br> =E2=94=82 &nbs=
p; (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")<br> =
=E2=94=82 (commit<br> =
=E2=94=82 "fa8=
7605fe93fb85b02dad9db246299bcf223f2e0"))<br> =E2=94=82 &nb=
sp; (channel<br> =E2=94=82 &=
nbsp; (name 'guix-hpc-non-free)<br> =E2=94=82 =
(url "https://gitlab.inria.fr/gu=
ix-hpc/guix-hpc-non-free.git")<br> =E2=94=82 &=
nbsp; (commit<br> =E2=94=82 =
"43d8cb72144a183aa7a93499f9c59ec0f8424=
4b0"))<br> =E2=94=82 (channel<br>=
=E2=94=82 (name 'gui=
x)<br> =E2=94=82 (url=
"https://git.savannah.gnu.org/git/guix.git")<br> =E2=94=82 &nbs=
p; (commit<br> =E2=94=82 &nb=
sp; "c6872990b51971922f3064=
cba54ab752fcdc1559")<br> =E2=94=82  =
; (introduction<br> =E2=94=82 &nbs=
p; (make-channel-introduction<br> =E2=
=94=82 &nb=
sp; "9edb3f66fd807b096b48283debdcddccfea34bad"<br> =E2=94=82 &nb=
sp; (openpgp-fi=
ngerprint<br> =E2=94=82 &nbs=
p; "BBB0 2DDF 2CEA F6A8 0D1D E643=
A2A0 6DF2 A33A 54FA")))))<br> =E2=94=94=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80<br><br data-mce-bogus=3D"1"></div></div></body></html>
--=_31f9a8b4-834e-42a7-9635-94f73c30bc07--
Emmanuel Agullo <emmanuel.agullo@HIDDEN>:bug-guix@HIDDEN.
Full text available.bug-guix@HIDDEN:bug#43023; Package guix.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.