From patchwork Mon Aug 15 19:54:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Philip McGrath X-Patchwork-Id: 41696 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4984727BBEB; Mon, 15 Aug 2022 20:56:14 +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=ham 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 5E92527BBEA for ; Mon, 15 Aug 2022 20:56:10 +0100 (BST) Received: from localhost ([::1]:37134 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNgC1-0002Zg-Je for patchwork@mira.cbaines.net; Mon, 15 Aug 2022 15:56:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47608) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNgBu-0002ZW-Vv for guix-patches@gnu.org; Mon, 15 Aug 2022 15:56:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:54394) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oNgBu-00069O-LS for guix-patches@gnu.org; Mon, 15 Aug 2022 15:56:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oNgBu-0005W3-Gt for guix-patches@gnu.org; Mon, 15 Aug 2022 15:56:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#57050] [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le. Resent-From: Philip McGrath Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 15 Aug 2022 19:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Thiago Jung Bauermann Cc: 57050@debbugs.gnu.org, Liliana Marie Prikler , Philip McGrath , Liliana Marie Prikler Received: via spool by 57050-submit@debbugs.gnu.org id=B57050.166059330521135 (code B ref 57050); Mon, 15 Aug 2022 19:56:02 +0000 Received: (at 57050) by debbugs.gnu.org; 15 Aug 2022 19:55:05 +0000 Received: from localhost ([127.0.0.1]:44143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNgAy-0005Uo-Ky for submit@debbugs.gnu.org; Mon, 15 Aug 2022 15:55:05 -0400 Received: from mail-qk1-f180.google.com ([209.85.222.180]:41626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oNgAt-0005U5-SP for 57050@debbugs.gnu.org; Mon, 15 Aug 2022 15:55:03 -0400 Received: by mail-qk1-f180.google.com with SMTP id w18so1345560qki.8 for <57050@debbugs.gnu.org>; Mon, 15 Aug 2022 12:54:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=philipmcgrath.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc; bh=9nlyOzqFvVfgRqLPlvE52mjVMLb0EaEub3xtso0gH5Y=; b=X5/W3amKBD6DkxMlj0knXTshCcsOAy5ZLGwyCm6WP/xOebLCRpKIjP6ohXWwy3FXkx P0268sKabO/fIekei0wWn5iNkOejS8+BoB7+EzfWWhPnnBnj1Fm3Lh4izhYKZoAVuuhW +xtu7qoNl22NQSs4Mdfho1KcTmuuYMafu+FszwKeazNmtNmQ42GfD4pYrAXAa3VG0n4B UQM+82rt+W2Qxwlx1ct9IMLwUWcXTv1XxctZ9ukZwBwlhjMyP9O+INWx/0ZQ16J3h7hq gRwgBoTGextEAUSIEqNJp+7JPolHNzvKBwwk6y7vnrIq1bgvXOQdkDQq003sACorSqXL hudg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc; bh=9nlyOzqFvVfgRqLPlvE52mjVMLb0EaEub3xtso0gH5Y=; b=mpZ4qgAAhNwa5fvJR3Rw1EmAiVUB3ZiFVySt2OgU1XyOv2p2yySMApo1VzmjvNqUrA tF3RmiTgEfdJBVOeQBe8UZFjOEp/q1kISvmndpeDtmXB+4K8qsdOD121VJIKayEyWXlP IPi6goDKRqrXl36JWoYWaUx9PABWXBCL4CvVeYK/FyxXW1dIcP48HCF8+EZ+PMN6FuYX XFfeMuLgYrho50/44tQQC7l2prtYrs6uQiUc8uVkHYew9vKfSPKRs7hzwPE6e0aI5k3y s30rytI8ByaTInW8TNYHcZtPWS99zOSJ2cEI+RlVWMyYJy1p9eY9vVILv3vurkB1DauU YBng== X-Gm-Message-State: ACgBeo3kzebAwynWOD5eP3ML71srvg+2P7y7cFDglEouuwFXOEXoK9Oy fI2rC5eaWk2OBbzn+V8HFeiWfw== X-Google-Smtp-Source: AA6agR4qU1moMAFhypYzbVr9zaBKM/AShdCuLvVQixjafB1OfpSKDvWtgGzRms/+NRr1OeFqJqecIA== X-Received: by 2002:a05:620a:4489:b0:6b6:1c1d:2fc1 with SMTP id x9-20020a05620a448900b006b61c1d2fc1mr12856828qkp.703.1660593294242; Mon, 15 Aug 2022 12:54:54 -0700 (PDT) Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51]) by smtp.gmail.com with UTF8SMTPSA id bp19-20020a05622a1b9300b00342fdc4004fsm8348371qtb.52.2022.08.15.12.54.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Aug 2022 12:54:53 -0700 (PDT) From: Philip McGrath Date: Mon, 15 Aug 2022 15:54:21 -0400 Message-Id: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: <64be5566c119d5b4ab83d5fb44d01aa1ecaed599.1660541551.git.philip@philipmcgrath.com> <875yiwxc6o.fsf@kolabnow.com> <87ilmzk04q.fsf@kolabnow.com> <2ef11386-5362-40af-981a-39f9562242c0@www.fastmail.com> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hi Thiago, > > Nice! thanks for the quick fix. I tested guix-issue-57050-v2 and now > > chez-scheme-for-racket-bootstrap-bootfiles builds successfully! > > > Unfortunately there's still a holdup: the install phase of > > racket-vm-cs-8.6 > fails: > > > > [...] > > > > Apparently some part of the racket-vm-cs build system thinks that it's > > cross-compiling when it's not. I'm still trying to figure out where this > > > “--cross-compiler” argument is being added but thought I'd provide an > > early > report. > > > Thanks for trying this! I think I've found what's going wrong in the > 'configure' script is going wrong, but I'm not sure yet what's the right way > to fix it. > Matthew Flatt fixed our use-case in 'configure' upstream, and I've cherry-picked it for Guix in the patch below. Can you try this instead? I've updated the 'zuo' branch at https://gitlab.com/philip1/guix-patches to point to this (commit ddc94a778b196e9425f0057cbd21404e7ecf6605) and tagged it as guix-issue-57050-v2-rfc2; I also tagged the previous attempt as guix-issue-57050-v2-rfc1. I will send a clean v3 of this series once this and other remaining questions are resolved. I tried bootstrapping the 'regexp', 'io', and 'thread' layers, but it's not so simple as just deleting the generated files in a snippet. I'll look into that further once this series is merged and either send patches or deal with it during the 8.7 update. Thanks! -Philip -- >8 -- From: Philip McGrath Date: Mon, 15 Aug 2022 12:32:57 -0400 Subject: [RFC PATCH v2] gnu: racket: Backport fix for powerpc64le. Racket's configure script had incorrectly assumed that the combination of '--enable-racket' and '--enable-pb' implied cross-compilation. On systems like powerpc64le-linux which always require '--enable-pb' (since they lack native Chez Scheme backends), this was a particular problem, breaking `make install`: see . This patch cherry-picks an upstream repair for the problem affecting Guix, though other configurations may need further work: see . * gnu/packages/patches/racket-backport-8.6-cross-install.patch: Add additional backport. --- .../racket-backport-8.6-cross-install.patch | 98 ++++++++++++++++++- 1 file changed, 96 insertions(+), 2 deletions(-) base-commit: aaa95de8c6cff1ba749a9dd0365dedb822ffa625 diff --git a/gnu/packages/patches/racket-backport-8.6-cross-install.patch b/gnu/packages/patches/racket-backport-8.6-cross-install.patch index 4f7849ecc6..2c4d8924ed 100644 --- a/gnu/packages/patches/racket-backport-8.6-cross-install.patch +++ b/gnu/packages/patches/racket-backport-8.6-cross-install.patch @@ -1,7 +1,8 @@ -From 585215c5c42f7ee0fee05e6a637ab1bc17f5e8e0 Mon Sep 17 00:00:00 2001 +From fbe2094f56fb81c888076c781e90fb0abbc0cc07 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 30 Jul 2022 07:06:55 -0600 -Subject: [PATCH] CS makefiles: fix Unix-style install for cross compilation +Subject: [PATCH 1/2] CS makefiles: fix Unix-style install for cross + compilation Closes #4377 @@ -30,3 +31,96 @@ index 8d3950bb27..d8b74c509d 100644 -- 2.32.0 + +From 85802f4d515e310e657928707800ad709a676e2a Mon Sep 17 00:00:00 2001 +From: Matthew Flatt +Date: Mon, 15 Aug 2022 10:37:01 +0800 +Subject: [PATCH 2/2] configure: adjust cross-build assumption for a pb build + +Don't assume a cross build for a pb target on a platform that's only +supported via pb. + +(cherry picked from commit 70e484e885637c495be5481983dae2207fdd67bb) + +(Edited to remove unrelated tweak to comments in +"racket/src/expander/expand/require+provide.rkt".) +--- + racket/src/cs/c/configure | 15 +++++++++++---- + racket/src/cs/c/configure.ac | 15 +++++++++++---- + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure +index 454d79e11a..7e0fa5600d 100755 +--- a/racket/src/cs/c/configure ++++ b/racket/src/cs/c/configure +@@ -4679,6 +4679,11 @@ case "$MACH_HOST_CPU" in + ;; + esac + ++if test "${MACH}" = "" ; then ++ default_mach_was_empty=yes ++else ++ default_mach_was_empty=no ++fi + + if test "${enable_mach}" != "" ; then + MACH="${enable_mach}" +@@ -4701,13 +4706,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then + exit 1 + fi + +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" = "yes" ; then + if test "${enable_racket}" != "" ; then + if test "${enable_target}" = "" ; then +- enable_target="${MACH}" ++ if test "${default_mach_was_empty}" = "no" ; then ++ enable_target="${MACH}" ++ fi + fi + fi + fi +diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac +index 5bce979c92..734c1e8feb 100644 +--- a/racket/src/cs/c/configure.ac ++++ b/racket/src/cs/c/configure.ac +@@ -415,6 +415,11 @@ case "$MACH_HOST_CPU" in + ;; + esac + ++if test "${MACH}" = "" ; then ++ default_mach_was_empty=yes ++else ++ default_mach_was_empty=no ++fi + + if test "${enable_mach}" != "" ; then + MACH="${enable_mach}" +@@ -437,13 +442,15 @@ elif test "$MACH" = "" -o "$MACH_OS" = "" ; then + exit 1 + fi + +-# For a pb build where Racket is supplied, force cross-build +-# mode on the assumption that the host is not a pb build +-# (because it should be created with default configure options) ++# For a pb build where Racket is supplied and MACH was not originally ++# empty, force cross-build mode on the assumption that the host is not ++# a pb build (because it should be created with default configure options) + if test "${enable_pb}" = "yes" ; then + if test "${enable_racket}" != "" ; then + if test "${enable_target}" = "" ; then +- enable_target="${MACH}" ++ if test "${default_mach_was_empty}" = "no" ; then ++ enable_target="${MACH}" ++ fi + fi + fi + fi +-- +2.32.0 +