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.