unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Chris Marusich <cmmarusich@gmail.com>
To: 47698@debbugs.gnu.org
Subject: bug#47698: [powerpc64le-linux] "check" package fails to build
Date: Mon, 12 Apr 2021 12:10:03 -0700	[thread overview]
Message-ID: <87a6q32ub8.fsf@gmail.com> (raw)
In-Reply-To: <87v98ty6rr.fsf@gmail.com> (Chris Marusich's message of "Sat, 10 Apr 2021 18:00:40 -0700")


[-- Attachment #1.1: Type: text/plain, Size: 618 bytes --]

Chris Marusich <cmmarusich@gmail.com> writes:

> I don't really know what's going on, but I'll try compiling GCC 7.5.0
> with the --with-long-double option, and I'll report whether it fixes
> this issue.  If someone has any other idea before then, I'm all ears.

It did not seem to fix the issue.  I tried using a patch like the
attached, but the "check" package still seems to fail its test suite in
the same way as before.

Something else must be going on.  Maybe the best thing to do is to try
to manually create a minimal reproducible case, and then investigate
using that simpler case.

-- 
Chris

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Simplify-the-use-of-with-long-double-128-on-powe.patch --]
[-- Type: text/x-patch, Size: 4484 bytes --]

From ad89f9f59d22cc10fbf7dd6f738ce15a6e79b640 Mon Sep 17 00:00:00 2001
From: Chris Marusich <cmmarusich@gmail.com>
Date: Sat, 10 Apr 2021 18:16:17 -0700
Subject: [PATCH] gnu: Simplify the use of --with-long-double-128 on
 powerpc64le.

In short, this change adds the "--with-long-double-128" configure option in
one place and removes it from two other (now-redundant) places.  It does not
cause any rebuilds on systems other than powerpc64le-linux.

* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add a clause for
targets starting with "powerpc64le-" which adds the "--with-long-double-128"
option.  This causes any package using this procedure to be built using this
new option on powerpc64le systems.  In particular, this affects the gcc
package and the gcc-final package, in addition to all the other versions of
GCC defined in (gnu packages gcc).
* gnu/packages/commencement.scm (gcc-boot0)[#:configure-flags]: Remove the
code that adds the "--with-long-double-128" configure option for powerpc64le,
since it is now redundant. The gcc-boot0 package uses (and adds to) the gcc
package's configure options. This means that the above change in gcc.scm is
sufficient to ensure that the gcc-boot0 package's configure options will
include "--with-long-double-128" on powerpc64le systems.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[#:configure-flags]: Remove
the code that adds the "--with-long-double-128" configure option for
powerpc64le, since it is now redundant. The cross-gcc-arguments procedure
uses (and adds to) the configure options of its xgcc argument (a package).
This means that regardless of which gcc from gcc.scm is used as the xgcc, the
above change in gcc.scm is sufficient to ensure that the cross-gcc-arguments
procedure's configure options will include "--with-long-double-128" on
powerpc64le systems.
---
 gnu/packages/commencement.scm | 7 -------
 gnu/packages/cross-base.scm   | 6 ------
 gnu/packages/gcc.scm          | 3 +++
 3 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d4511ed914..db564db9c4 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2819,13 +2819,6 @@ exec " gcc "/bin/" program
                            "--disable-shared"
                            "--enable-languages=c,c++"
 
-                           ;; boot-triplet inserts "guix" in the triplet.
-                           ,@(if (equal? "powerpc64le-guix-linux-gnu" (boot-triplet))
-                                 ;; On POWER9 (little endian) glibc needs the
-                                 ;; 128-bit long double type.
-                                 '("--with-long-double-128")
-                                 '())
-
                            ;; libstdc++ cannot be built at this stage
                            ;; ("Link tests are not allowed after
                            ;; GCC_NO_EXECUTABLES.").
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 180594509b..c1e5f2eb79 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -153,12 +153,6 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
                                "--disable-decimal-float" ;would need libc
                                "--disable-libcilkrts"
 
-                              ,@(if (string-prefix? "powerpc64le-" target)
-                                   ;; On POWER9 (little endian) glibc needs
-                                   ;; the 128-bit long double type.
-                                   '("--with-long-double-128")
-                                   '())
-
                                ;; When target is any OS other than 'none' these
                                ;; libraries will fail if there is no libc
                                ;; present. See
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index a412c93c29..22a0f35422 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -79,6 +79,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC
          ;; Cilk has been removed from GCC 8 anyway.
          '("--disable-libcilkrts"))
 
+        ((string-prefix? "powerpc64le-" target)
+         '("--with-long-double-128"))
+
         (else
          ;; TODO: Add `arm.*-gnueabi', etc.
          '())))
-- 
2.30.2


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

  reply	other threads:[~2021-04-12 19:11 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-11  1:00 bug#47698: [powerpc64le-linux] "check" package fails to build Chris Marusich
2021-04-12 19:10 ` Chris Marusich [this message]
2021-04-13 11:12   ` Efraim Flashner
2021-05-14  7:45 ` Chris Marusich
2021-06-04  6:58   ` Chris Marusich
2021-06-04  9:11     ` Efraim Flashner
2021-06-04  9:36     ` Efraim Flashner
2021-06-08  8:22       ` Efraim Flashner
2021-06-18 18:09         ` Chris Marusich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a6q32ub8.fsf@gmail.com \
    --to=cmmarusich@gmail.com \
    --cc=47698@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).