Message ID | 87o7x2mplu.fsf@muradm.net |
---|---|
State | New |
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id D613227BBEA; Tue, 2 Aug 2022 20:08:27 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4C7BF27BBE9 for <patchwork@mira.cbaines.net>; Tue, 2 Aug 2022 20:08:27 +0100 (BST) Received: from localhost ([::1]:33632 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org>) id 1oIxFi-000592-Fw for patchwork@mira.cbaines.net; Tue, 02 Aug 2022 15:08:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44552) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1oIxFK-00054H-On for guix-patches@gnu.org; Tue, 02 Aug 2022 15:08:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:55334) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1oIxFK-0001x6-F2 for guix-patches@gnu.org; Tue, 02 Aug 2022 15:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1oIxFK-000712-3a for guix-patches@gnu.org; Tue, 02 Aug 2022 15:08:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56872] [PATCH v2] gnu: mu: Update to 1.8.7. Resent-From: muradm <mail@muradm.net> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 02 Aug 2022 19:08:02 +0000 Resent-Message-ID: <handler.56872.B56872.165946724226922@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56872 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxime Devos <maximedevos@telenet.be>, 56872@debbugs.gnu.org Received: via spool by 56872-submit@debbugs.gnu.org id=B56872.165946724226922 (code B ref 56872); Tue, 02 Aug 2022 19:08:02 +0000 Received: (at 56872) by debbugs.gnu.org; 2 Aug 2022 19:07:22 +0000 Received: from localhost ([127.0.0.1]:45083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1oIxEf-000709-R5 for submit@debbugs.gnu.org; Tue, 02 Aug 2022 15:07:22 -0400 Received: from nomad-cl1.staging.muradm.net ([139.162.159.157]:37002 helo=nomad-cl1.muradm.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mail@muradm.net>) id 1oIxEa-0006zs-Qs for 56872@debbugs.gnu.org; Tue, 02 Aug 2022 15:07:20 -0400 Received: from localhost ([127.0.0.1]:36368) by nomad-cl1.muradm.net with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <mail@muradm.net>) id 1oIxE3-0008Fc-1M; Tue, 02 Aug 2022 19:06:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=muradm.net; s=mail; h=Content-Type:MIME-Version:Message-ID:In-reply-to:Date:Subject:To: From:References:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=DTaL/fL6W9KZ6fyIp+8t41uFAvqNcLsTyEs8+Sc84rI=; b=uDc146KjYOApfgfkoxT8sMJFKu 1VH4/HylmM3evxO4xv18jnsSg0o1e7wxVrfe/+ySIEcrzVXZ2Tpb3a402ST4xpm8MfDfLRTZEhNWY hkZEWBwaI7davjEcMypfV+ymH9q/gfUAye6+VE6vV/QzhbI7NyveNBoVPyluNQAWEWMxLERTZDllM qcgE2W9hSOViyFaLviPi+DQKQzS/TBJe/g97czj7rDhi6A8sW9UyFzrVH3/hR5fH9albN0/u3/n5e 5kwuJzzpXcr2Ov+iKOPzqel3694y69hetzcEhk+o8uDnGp1+NnyVYJ4fvHR72DNaa1Gn3zE8V82U+ iKb6nYH2PFl/DnmFCitMPdriayvjSPRF7AERxLyo2CSJc17PAI0jE6QmRV+sv4mgdV3HdXyqTXUyf leKOma9Z6J8UOv4KEpLKds9rPzdNF8HRsHuXyXLL9hXe6dDe/osVH+uhvwm3tcrV8/8mRsBEWJuau jMZ6iwHZtQJlGv7DFM54zpnj; Received: from muradm by localhost with local (Exim 4.96) (envelope-from <mail@muradm.net>) id 1oIxEU-0004CU-16; Tue, 02 Aug 2022 22:07:10 +0300 References: <20220801131159.20007-1-mail@muradm.net> <20220801134101.26024-1-mail@muradm.net> <2e5423f0-62b8-7a78-0f4c-bc12d81035d3@telenet.be> User-agent: mu4e 1.8.7; emacs 29.0.50 From: muradm <mail@muradm.net> Date: Tue, 02 Aug 2022 22:03:06 +0300 In-reply-to: <2e5423f0-62b8-7a78-0f4c-bc12d81035d3@telenet.be> Message-ID: <87o7x2mplu.fsf@muradm.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-getmail-retrieved-from-mailbox: Patches |
Series |
[bug#56872,v2] gnu: mu: Update to 1.8.7.
|
|
Commit Message
muradm
Aug. 2, 2022, 7:03 p.m. UTC
Hi, This patch worked for me in my host. I don't have any environment to see if working when actually cross-compiling. For the comment on coreutils, yeah missed update when removed. Maxime Devos <maximedevos@telenet.be> writes: > [[PGP Signed Part:Undecided]] > > On 01-08-2022 15:41, muradm wrote: >> + (substitute* '("lib/utils/mu-utils.cc" >> + "lib/tests/bench-indexer.cc") >> + (("/bin/rm") (which "rm"))))) > > The lib/utils/mu-utils.cc + 'which' looks wrong when > cross-compiling > -- try using search-input-file on 'inputs' instead (which looks > in > native-inputs (which happens to be merged with inputs when > compiling > natively))). > > (If it does not end up in the binary, then 'which' should be > fine) > >> [inputs]: Removed guile added coreutils (for /bin/rm command). > I'm not seeing coreutils in there. > > Greetings, > Maxime > > [2. OpenPGP public key --- application/pgp-keys; > OpenPGP_0x49E3EE22191725EE.asc]... > > [[End of PGP Signed Part]]
Comments
On Tue Aug 2, 2022 at 8:03 PM BST, muradm wrote: > I don't have any environment to see if working when > actually cross-compiling. You can cross-compile to any architecture you want if you add `qemu-binfmt-service-type` to your system config and specify the architectures you want. Then you just need to do something like: ʃ guix build --system=aarch64-linux mu ʃ guix build --system=riscv64-linux mu Also, on x86-64, you can cross-compile to x86-32 without any emulation: ʃ guix build --system=i686-linux mu -- (
Thanks, I know. My laptop won't survive, to be correct. That what I ment :) "(" <paren@disroot.org> writes: > On Tue Aug 2, 2022 at 8:03 PM BST, muradm wrote: >> I don't have any environment to see if working when >> actually cross-compiling. > You can cross-compile to any architecture you want if you add > `qemu-binfmt-service-type` to your system config and specify > the architectures you want. Then you just need to do something > like: > > ʃ guix build --system=aarch64-linux mu > ʃ guix build --system=riscv64-linux mu > > Also, on x86-64, you can cross-compile to x86-32 without any > emulation: > > ʃ guix build --system=i686-linux mu > > -- (
On 02-08-2022 21:14, ( wrote: > On Tue Aug 2, 2022 at 8:03 PM BST, muradm wrote: >> I don't have any environment to see if working when >> actually cross-compiling. > You can cross-compile to any architecture you want if you add > `qemu-binfmt-service-type` to your system config and specify > the architectures you want. Then you just need to do something > like: > > ʃ guix build --system=aarch64-linux mu > ʃ guix build --system=riscv64-linux mu > > Also, on x86-64, you can cross-compile to x86-32 without any > emulation: > > ʃ guix build --system=i686-linux mu > > -- ( This is 'QEMU transparent emulation' -- from Guix' perspective, this is not cross-compilation (see: transparent), but rather it is as-if you were compiling natively on a aarch64 or riscv64 instead of cross-compiling from a <insert your CPU type> to aarch64 or riscv64. Instead, try: $ guix build --target=aarch64-linux-gnu mu $ guix build --target=aarch64-linux-gnu mu , which exercises Guix' cross-compilation codepaths. --system: system to run the compilation process on (possibly emulated) --target: system to cross-compile _to_/system on which the _result_ of compilation will be run. Also, you don't need a aarch64 or riscv64 to check the references (try "guix graph --type=references $(./pre-inst-env guix build mu --target=..." or "guix gc --references $(./pre-inst-env guix build mu --target=...)") and check that the 'mu' doesn't point to coreutils). Greetings, Maxime.
On 02-08-2022 21:27, muradm wrote: > > Thanks, I know. > My laptop won't survive, to be correct. > That what I ment :) The build farm has substitutes for the cross-compiler and the cross-compiled glib (at least if you are cross-compiling from x86_64-linux), so except for downloading some additional substitutes, cross-compiling mu should not take much longer than compiling natively (assuming the substitute server is authorised). In fact, for me it finished after a few seconds because of dependency pth fails to cross-compile: > checking size of short... grep: /usr/include/features.h: No such file > or directory > [...] > > ./libtool --mode=compile --quiet aarch64-linux-gnu-gcc -c -I. -O2 > -pipe pth_mctx.c > pth_mctx.c: In function '__pth_mctx_set': > pth_mctx.c:480:2: error: #error "Unsupported Linux (g)libc version > and/or platform" > 480 | #error "Unsupported Linux (g)libc version and/or platform" > | ^~~~~ > make: *** [Makefile:155: pth_mctx.lo] Error 1 > error: in phase 'build': uncaught exception: > Greetings, Maxime.
From below error I see that it is pth package failing to build. Most likely there are others that are not getting built. Does it mean that it was never built before mu-1.8.7? Does it mean that we sould restrict mu-1.8.7 by platform? Maxime Devos <maximedevos@telenet.be> writes: > [[PGP Signed Part:Undecided]] > > On 02-08-2022 21:27, muradm wrote: >> >> Thanks, I know. >> My laptop won't survive, to be correct. >> That what I ment :) > > The build farm has substitutes for the cross-compiler and the > cross-compiled glib (at least if you are cross-compiling from > x86_64-linux), so except for downloading some additional > substitutes, > cross-compiling mu should not take much longer than compiling > natively > (assuming the substitute server is authorised). > > In fact, for me it finished after a few seconds because of > dependency > pth fails to cross-compile: > >> checking size of short... grep: /usr/include/features.h: No >> such >> file or directory >> [...] >> >> ./libtool --mode=compile --quiet aarch64-linux-gnu-gcc -c -I. >> -O2 >> -pipe pth_mctx.c >> pth_mctx.c: In function '__pth_mctx_set': >> pth_mctx.c:480:2: error: #error "Unsupported Linux (g)libc >> version >> and/or platform" >> 480 | #error "Unsupported Linux (g)libc version and/or >> platform" >> | ^~~~~ >> make: *** [Makefile:155: pth_mctx.lo] Error 1 >> error: in phase 'build': uncaught exception: >> > Greetings, > Maxime. > > [2. OpenPGP public key --- application/pgp-keys; > OpenPGP_0x49E3EE22191725EE.asc]... > > [[End of PGP Signed Part]]
On 02-08-2022 22:13, muradm wrote: > From below error I see that it is pth package failing to build. > Most likely there are others that are not getting built. > Does it mean that it was never built before mu-1.8.7? > Does it mean that we sould restrict mu-1.8.7 by platform? > It fails to cross-compile to aarch64-linux (--target), but it compiles fine natively (--system without --target), so I don't think adjusting 'supported-systems' is necessary. Rather, it seems to me that pth' configure script should eventually be tweaked to support aarch64-linux-gnu not only when compiling natively, but also when cross-compiling. Greetings, Maxime.
From b688acbb5b9d6d65606edf2164cad09c9cf06225 Mon Sep 17 00:00:00 2001 From: muradm <mail@muradm.net> Date: Tue, 2 Aug 2022 21:57:57 +0300 Subject: [PATCH] gnu: mu: Fix cross-compiling. To: Maxime Devos <maximedevos@telenet.be>, 56872@debbugs.gnu.org * gnu/packages/mail.scm (mu)[arguments]: Use search-input-file to find /bin/sh and /bin/rm from inputs. --- gnu/packages/mail.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index ca4b3e819e..3776157c0b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1189,15 +1189,15 @@ (define-public mu #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-bin-references - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (substitute* '("guile/tests/test-mu-guile.cc" "mu/tests/test-mu-cmd.cc" "mu/tests/test-mu-cmd-cfind.cc" "mu/tests/test-mu-query.cc") - (("/bin/sh") (which "sh"))) + (("/bin/sh") (search-input-file inputs "/bin/sh"))) (substitute* '("lib/tests/bench-indexer.cc" "lib/utils/mu-utils.cc") - (("/bin/rm") (which "rm"))))) + (("/bin/rm") (search-input-file inputs "/bin/rm"))))) (add-after 'install 'install-emacs-autoloads (lambda* (#:key outputs #:allow-other-keys) (emacs-generate-autoloads -- 2.37.1