From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id OEflDqbbQ19sGAAA0tVLHw (envelope-from ) for ; Mon, 24 Aug 2020 15:24:22 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id MJm4CqbbQ1+DZwAA1q6Kng (envelope-from ) for ; Mon, 24 Aug 2020 15:24:22 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 66036940223 for ; Mon, 24 Aug 2020 15:24:19 +0000 (UTC) Received: from localhost ([::1]:41844 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kAEKY-0003Zt-3a for larch@yhetil.org; Mon, 24 Aug 2020 11:24:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34232) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kAEKI-0003Xd-V3 for bug-guix@gnu.org; Mon, 24 Aug 2020 11:24:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:47377) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kAEKI-0003Rh-Kz for bug-guix@gnu.org; Mon, 24 Aug 2020 11:24:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kAEKI-0005FQ-Hb for bug-guix@gnu.org; Mon, 24 Aug 2020 11:24:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#43023: clang++ in a {clang-toolchain + gcc-toolchain} environment Resent-From: Emmanuel Agullo Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 24 Aug 2020 15:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 43023 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 43023@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.159828263320149 (code B ref -1); Mon, 24 Aug 2020 15:24:02 +0000 Received: (at submit) by debbugs.gnu.org; 24 Aug 2020 15:23:53 +0000 Received: from localhost ([127.0.0.1]:58923 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kAEK7-0005Eo-U5 for submit@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 ) id 1kAClZ-0003vr-Tx for submit@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 ) id 1kAClZ-0004cs-Ky for bug-guix@gnu.org; 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 ) id 1kAClV-0004pX-Ny for bug-guix@gnu.org; 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: MDG+LeoxqlOJf3u2orZndCLq9hEgG1Ad4D0zf7yJ2LT9gEGJR6dlV8oIHpoOGJia7QyUcd5bKO6dCc6mXnwFqpHT6wdP0RjgYLkrxoFSMt2LlQqGNO5JAq4WRjEGq/xfjYp1fjrzeNKbJBWQlpdRpywyFguVyY6N1zp2gqb3jp2sVg== 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 Message-ID: <109069324.10892414.1598276637610.JavaMail.zimbra@inria.fr> 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@inria.fr; 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-Mailman-Approved-At: Mon, 24 Aug 2020 11:23:49 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -2.3 (--) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: -1.01 X-TUID: m9UKQqXk+lRH --=_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 ' 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 ( ?) 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 │ │ 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_, │ ^ │ /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2654:55: error: expected a type │ noexcept(__and_, │ ^ │ /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
Hello,

A typical "hello world" C++ f= ails in an environment with both
`gcc-toolchain' and `clang-toolchain', = apperently due to the setup of
the `CPLUS_INCLUDE_PATH' environment vari= able (used because of the
`#include <iostream>' instruction), when= compiling with `clang++'.

I do not know if this is a bug or the exp= ected behaviour. Obviously one
is not likely to explicitly load = an environment with both `gcc-toolchain'
and `clang-toolchain' b= ut migth do so implictly (and possibly not being
aware of it) for instan= ce 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<= br>(<https://guix.gnu.org/manual/en/html_node/Development.html> ?) if= not
already done so =E2=80=93 in which case I am sorry for the noise.
Please find below:
1. a simplified C++ "hello world" hello.cpp pro= gram
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. wit= h an expected behaviour using `g++'
- 4.2. with an (expected or not?) er= ror using `clang++'
- 4.3. a (non desirable) fix of the `CPLUS_INCLUDE_P= ATH' (removing
  `/gnu/store/=E2=80=A6/include/c++')
5. the empl= oyed channels if it may help

Thanks much for the continous developme= nt and support, and once
again sorry for the possible noise if th= is is a known expected
behaviour.

With best regards,
Emmanuel


1 simplified (no newline) C++ "hello world" hello.cpp= program
=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

  =E2=94=8C=E2=94=80=E2=94= =80=E2=94=80=E2=94=80
  =E2=94=82 #include <iostream>
&nbs= p; =E2=94=82
  =E2=94=82 int main() {
  =E2=94=82 &nb= sp;   std::cout << "Hello World!";
  =E2=94=82 = ;    return 0;
  =E2=94=82 }
  =E2=94=94=E2= =94=80=E2=94=80=E2=94=80=E2=94=80


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

  =E2=94=8C=E2=94=80=E2= =94=80=E2=94=80=E2=94=80
  =E2=94=82 guix environment -C --ad-hoc g= cc-toolchain coreutils grep
  =E2=94=82 env | grep CPLUS_INCLUDE_PA= TH
  =E2=94=82 g++ hello.cpp
  =E2=94=82 ./a.out
  = =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

  =E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81
   CPLUS_INCLUDE_PATH=3D/gnu/store/gsylxn8q06w6y7622nw159f= 3q1vvcx2i-profile/include/c++:/gnu/store/gsylxn8q06w6y7622nw159f3q1vvcx2i-p= rofile/include        
 &n= bsp; Hello           = ;            &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;            = ;   World!
  =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81


3 `clang-too= lchain' environment
=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=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
  = =E2=94=82 guix environment -C --ad-hoc clang-toolchain coreutils grep
&n= bsp; =E2=94=82 env | grep CPLUS_INCLUDE_PATH
  =E2=94=82 clang++ he= llo.cpp
  =E2=94=82 ./a.out
  =E2=94=94=E2=94=80=E2=94=80= =E2=94=80=E2=94=80

  =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=
   CPLUS_INCLUDE_PATH=3D/gnu/store/8qlafmilvc0g1yv8lmilpjmps3= p4nrmq-profile/include        
=    Hello         &nb= sp;            =             &nb= sp;            =             &nb= sp;            =    World!
  =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=


4 environment with both `gcc-toolchain' & `clang-toolchain'=
=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

4.1 compilation with `g++'
=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

  = `g++' in an environment with both gcc and clang toolchains is fine:
&nbs= p; =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
  =E2=94=82 guix e= nvironment -C --ad-hoc gcc-toolchain clang-toolchain coreutils grep
&nbs= p; =E2=94=82 env | grep CPLUS_INCLUDE_PATH
  =E2=94=82 g++ hello.cp= p
  =E2=94=82 ./a.out
  =E2=94=94=E2=94=80=E2=94=80=E2=94= =80=E2=94=80

  =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81
   CPLUS_INCLUDE= _PATH=3D/gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++:/gn= u/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include   &= nbsp;    
   Hello    = ;            &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;            = ;          World!
  = =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2= =94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94= =81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81=E2=94=81= =E2=94=81=E2=94=81


4.2 compilation with `clang++' (FAIL)
=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

  But `clang++' in the same envi= ronment (with both gcc and clang
  toolchains) breaks, raising the = following error:
  =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80  =E2=94=82 guix environment -C --ad-hoc gcc-toolchain clang-toolchai= n coreutils grep
  =E2=94=82 clang++ hello.cpp
  =E2=94=94= =E2=94=80=E2=94=80=E2=94=80=E2=94=80

  Error obtained during th= e `clang++ hello.cpp' step:
  =E2=94=8C=E2=94=80=E2=94=80=E2=94=80= =E2=94=80
  =E2=94=82 In file included from hello.cpp:1:
  = =E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z= -profile/include/c++/iostream:39:
  =E2=94=82 In file included from= /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ostream:38= :
  =E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nld= x7ldpxppn29z-profile/include/c++/ios:39:
  =E2=94=82 /gnu/store/3ka= 3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/exception:105:3: error: u= nknown type name '_GLIBCXX17_DEPRECATED'
  =E2=94=82   _G= LIBCXX17_DEPRECATED
  =E2=94=82   ^
  =E2=94=82 I= n file included from hello.cpp:1:
  =E2=94=82 In file included from= /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/iostream:3= 9:
  =E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nl= dx7ldpxppn29z-profile/include/c++/ostream:38:
  =E2=94=82 In file i= ncluded from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c+= +/ios:39:
  =E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk= 6ac84nldx7ldpxppn29z-profile/include/c++/exception:147:
  =E2=94=82= In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/= include/c++/bits/exception_ptr.h:40:
  =E2=94=82 /gnu/store/3ka3a9w= gx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:126:1: error: unknown typ= e name '_GLIBCXX_NODISCARD'
  =E2=94=82 _GLIBCXX_NODISCARD void* op= erator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
  =E2=94=82= ^
  =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/= include/c++/new:128:1: error: unknown type name '_GLIBCXX_NODISCARD'
&nb= sp; =E2=94=82 _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX= _THROW (std::bad_alloc)
  =E2=94=82 ^
  =E2=94=82 /gnu/stor= e/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:140:1: error: un= known type name '_GLIBCXX_NODISCARD'
  =E2=94=82 _GLIBCXX_NODISCARD= void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NO= EXCEPT
  =E2=94=82 ^
  =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac= 84nldx7ldpxppn29z-profile/include/c++/new:142:1: error: unknown type name '= _GLIBCXX_NODISCARD'
  =E2=94=82 _GLIBCXX_NODISCARD void* operator n= ew[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
 = ; =E2=94=82 ^
  =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn2= 9z-profile/include/c++/new:174:1: error: unknown type name '_GLIBCXX_NODISC= ARD'
  =E2=94=82 _GLIBCXX_NODISCARD inline void* operator new(std::= size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
  =E2=94=82 ^
  = =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 *'
  =E2=94=82 { return __p; }
  =E2=94= =82          ^~~
  =E2= =94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/new:= 176:1: error: unknown type name '_GLIBCXX_NODISCARD'
  =E2=94=82 _G= LIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBC= XX_USE_NOEXCEPT
  =E2=94=82 ^
  =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 *'
&= nbsp; =E2=94=82 { return __p; }
  =E2=94=82    =       ^~~
  =E2=94=82 In file included fro= m hello.cpp:1:
  =E2=94=82 In file included from /gnu/store/3ka3a9w= gx5sk6ac84nldx7ldpxppn29z-profile/include/c++/iostream:39:
  =E2=94= =82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profi= le/include/c++/ostream:38:
  =E2=94=82 In file included from /gnu/s= tore/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/ios:39:
 = =E2=94=82 In file included from /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29= z-profile/include/c++/exception:148:
  =E2=94=82 In file included f= rom /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/bits/ne= sted_exception.h:40:
  =E2=94=82 In file included from /gnu/store/3= ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/bits/move.h:57:
&nbs= p; =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c+= +/type_traits:696:27: error: expected unqualified-id
  =E2=94=82&nb= sp;    _GLIBCXX20_DEPRECATED("use is_standard_layout &&a= mp; is_trivial instead")
  =E2=94=82     &= nbsp;           &nbs= p;         ^
  =E2=94=82 /g= nu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:6= 96:27: error: expected ')'
  =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84= nldx7ldpxppn29z-profile/include/c++/type_traits:696:26: note: to match this= '('
  =E2=94=82     _GLIBCXX20_DEPRECATED("use= is_standard_layout && is_trivial instead")
  =E2=94=82&nbs= p;            &= nbsp;            ^  =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/incl= ude/c++/type_traits:2648:5: error: unknown type name '_GLIBCXX20_CONSTEXPR'=
  =E2=94=82     _GLIBCXX20_CONSTEXPR
 = =E2=94=82     ^
  =E2=94=82 /gnu/store/3ka3a9w= gx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2650:5: error: no= variable template matches partial specialization
  =E2=94=82 =     _Require<__not_<__is_tuple_like<_Tp>>,  =E2=94=82     ^
  =E2=94=82 /gnu/store/= 3ka3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2652:31: e= rror: expected ';' at end of declaration
  =E2=94=82  &nb= sp;           is_move_ass= ignable<_Tp>>
  =E2=94=82     &nb= sp;            =             &nb= sp;       ^
  =E2=94=82 /gnu/store/3k= a3a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2653:10: err= or: unknown type name '_Tp'
  =E2=94=82     swa= p(_Tp&, _Tp&)
  =E2=94=82     &nbs= p;    ^
  =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx= 7ldpxppn29z-profile/include/c++/type_traits:2653:16: error: unknown type na= me '_Tp'
  =E2=94=82     swap(_Tp&, _Tp&= ;)
  =E2=94=82         = ;       ^
  =E2=94=82 /gnu/store/3ka3= a9wgx5sk6ac84nldx7ldpxppn29z-profile/include/c++/type_traits:2654:51: error= : use of undeclared identifier '_Tp'
  =E2=94=82   &= nbsp; noexcept(__and_<is_nothrow_move_constructible<_Tp>,
 = ; =E2=94=82          &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;  ^
  =E2=94=82 /gnu/store/3ka3a9wgx5sk6ac84nldx7ldpxppn2= 9z-profile/include/c++/type_traits:2654:55: error: expected a type
 = ; =E2=94=82     noexcept(__and_<is_nothrow_move_cons= tructible<_Tp>,
  =E2=94=82     &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           ^
&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
  =E2=94=82     swap(_Tp&, _Tp&)  =E2=94=82     ^
  =E2=94=82 fatal erro= r: too many errors emitted, stopping now [-ferror-limit=3D]
  =E2= =94=82 20 errors generated.
  =E2=94=94=E2=94=80=E2=94=80=E2=94=80= =E2=94=80


4.3 (non desirable) fix of the `CPLUS_INCLUDE_PATH' (r= emoving `/gnu/store/.../include/c++')
=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

  For information, it is p= ossible (but obviously in general not
  desirable) to fix the `CPLU= S_INCLUDE_PATH' variable (removing
  `/gnu/store/.../include/c++'),= which leads to a correct compilation
  (and execution).

&nb= sp; =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
  =E2=94=82 guix = environment -C --ad-hoc gcc-toolchain clang-toolchain coreutils grep
&nb= sp; =E2=94=82 export CPLUS_INCLUDE_PATH=3D/gnu/store/3ka3a9wgx5sk6ac84nldx7= ldpxppn29z-profile/include
  =E2=94=82 clang++ hello.cpp
  = =E2=94=82 ./a.out
  =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80
  =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
  =E2=94= =82 Hello World!
  =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

5 channels
=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=94=8C=E2=94=80=E2= =94=80=E2=94=80=E2=94=80
  =E2=94=82 guix describe --format=3Dchann= els
  =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80

  = =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80
  =E2=94=82 (list (ch= annel
  =E2=94=82         (= name 'guix-hpc)
  =E2=94=82      &nbs= p;  (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")
  = =E2=94=82         (commit
 = =E2=94=82           "fa8= 7605fe93fb85b02dad9db246299bcf223f2e0"))
  =E2=94=82  &nb= sp;    (channel
  =E2=94=82    &= nbsp;    (name 'guix-hpc-non-free)
  =E2=94=82 =         (url "https://gitlab.inria.fr/gu= ix-hpc/guix-hpc-non-free.git")
  =E2=94=82    &= nbsp;    (commit
  =E2=94=82    =        "43d8cb72144a183aa7a93499f9c59ec0f8424= 4b0"))
  =E2=94=82       (channel
=   =E2=94=82         (name 'gui= x)
  =E2=94=82         (url= "https://git.savannah.gnu.org/git/guix.git")
  =E2=94=82 &nbs= p;       (commit
  =E2=94=82 &nb= sp;         "c6872990b51971922f3064= cba54ab752fcdc1559")
  =E2=94=82      = ;   (introduction
  =E2=94=82    &nbs= p;      (make-channel-introduction
  =E2= =94=82           &nb= sp; "9edb3f66fd807b096b48283debdcddccfea34bad"
  =E2=94=82 &nb= sp;           (openpgp-fi= ngerprint
  =E2=94=82       &nbs= p;       "BBB0 2DDF 2CEA F6A8 0D1D  E643= A2A0 6DF2 A33A 54FA")))))
  =E2=94=94=E2=94=80=E2=94=80=E2=94=80= =E2=94=80

--=_31f9a8b4-834e-42a7-9635-94f73c30bc07--