[core-updates] libstdc++ fails to build on powerpc64le-linux

  • Done
  • quality assurance status badge
Details
3 participants
  • Andreas Enge
  • Ludovic Courtès
  • Christopher Baines
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
important
L
L
Ludovic Courtès wrote on 1 Mar 2023 00:16
(address . bug-guix@gnu.org)
87a60xcrdl.fsf@inria.fr
0825162a35362640b47d3cabe278fd7ea49140bd and later):

Toggle snippet (34 lines)
libtool: compile: g++ -I/tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/libstdc++-v3/../libgcc -I/tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/build/include/ -I/tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/build/include -I/tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/libstdc++-v3/libsupc++ -std=gnu++17 -nostdinc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=2 -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=fs_path.lo -mno-gnu-attribute -fimplicit-templates -c ../../../libstdc++-v3/src/c++17/fs_path.cc
../../../libstdc++-v3/src/c++17/floating_from_chars.cc: In function 'std::from_chars_result std::from_chars(const char*, const char*, __ieee128&, std::chars_format)':
../../../libstdc++-v3/src/c++17/floating_from_chars.cc:499:8: error: 'string' is not a member of 'std::pmr'; did you mean 'std::string'?
499 | pmr::string buf(&mr);
| ^~~~~~
In file included from /tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/build/include/string:39,
from ../../../libstdc++-v3/src/c++17/floating_from_chars.cc:34:
/tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/build/include/bits/stringfwd.h:79:33: note: 'std::string' declared here
79 | typedef basic_string<char> string;
| ^~~~~~
../../../libstdc++-v3/src/c++17/floating_from_chars.cc:504:55: error: 'buf' was not declared in this scope
504 | if (const char* pat = pattern(first, last, fmt, buf)) [[likely]]
| ^~~
make[3]: *** [Makefile:762: floating_from_chars.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from ../../../libstdc++-v3/src/c++17/fs_ops.cc:58:
../../../libstdc++-v3/src/c++17/../filesystem/ops-common.h: In function 'std::filesystem::file_type std::filesystem::make_file_type(const stat_type&)':
../../../libstdc++-v3/src/c++17/../filesystem/ops-common.h:269:35: warning: unused parameter 'st' [-Wunused-parameter]
269 | make_file_type(const stat_type& st) noexcept
| ~~~~~~~~~~~~~~~~~^~
make[3]: Leaving directory '/tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/build/src/c++17'
make[2]: *** [Makefile:765: all-recursive] Error 1
make[2]: Leaving directory '/tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/build/src'
make[1]: *** [Makefile:568: all-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/build'
make: *** [Makefile:493: all] Error 2
error: in phase 'build': uncaught exception:
srfi-34 #<condition &invoke-error [program: "make" arguments: ("-j" "32") exit-status: 2 term-signal: #f stop-signal: #f] 7fffefc213c0>
phase `build' failed after 6.0 seconds
command "make" "-j" "32" failed with status 2
builder for `/gnu/store/bpx8ar4qq4bkskhhj25l5phxxji0ljf8-libstdc++-11.3.0.drv' failed with exit code 1
@ build-failed /gnu/store/bpx8ar4qq4bkskhhj25l5phxxji0ljf8-libstdc++-11.3.0.drv - 1 builder for `/gnu/store/bpx8ar4qq4bkskhhj25l5phxxji0ljf8-libstdc++-11.3.0.drv' failed with exit code 1

Ludo’.
L
L
Ludovic Courtès wrote on 1 Mar 2023 16:30
control message for bug #61879
(address . control@debbugs.gnu.org)
875ybkcwuo.fsf@gnu.org
severity 61879 important
quit
A
A
Andreas Enge wrote on 13 Apr 2023 11:32
Powerpc on core-updates
(address . guix-devel@gnu.org)
ZDfMJmRxU+bf9DDa@jurong
Hello,

recently I claimed that powerpc was repaired, but I must have made a mistake.
It is still completely broken:
due to this:
It does not look easy to fix, but might be *the* blocker for a core-updates
merge...

The error is this:
../../../libstdc++-v3/src/c++17/floating_from_chars.cc: In function 'std::from_chars_result std::from_chars(const char*, const char*, __ieee128&, std::chars_format)':
../../../libstdc++-v3/src/c++17/floating_from_chars.cc:499:8: error: 'string' is not a member of 'std::pmr'; did you mean 'std::string'?
499 | pmr::string buf(&mr);
| ^~~~~~
In file included from /tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/build/include/string:39,
from ../../../libstdc++-v3/src/c++17/floating_from_chars.cc:34:
/tmp/guix-build-libstdc++-11.3.0.drv-0/gcc-11.3.0/build/include/bits/stringfwd.h:79:33: note: 'std::string' declared here
79 | typedef basic_string<char> string;
| ^~~~~~
../../../libstdc++-v3/src/c++17/floating_from_chars.cc:504:55: error: 'buf' was not declared in this scope
504 | if (const char* pat = pattern(first, last, fmt, buf)) [[likely]]

In the file
libstdc++-v3/src/c++17/floating_from_chars.cc
previous functions have code like this:
#if _GLIBCXX_USE_CXX11_ABI
buffer_resource mr;
pmr::string buf(&mr);
#else
string buf;
if (!reserve_string(buf))
return make_result(first, 0, {}, ec);
#endif

while here we only have:
buffer_resource mr;
pmr::string buf(&mr);

So my guess would be that we should simply replace this snippet with the
one above.

Could someone with access to a powerpc machine try out this change?

Andreas
A
A
Andreas Enge wrote on 13 Apr 2023 11:51
(address . guix-devel@gnu.org)
ZDfQtykOvEaYc2Bh@jurong
I may as well try to provide a patch. It is untested even on x86_64,
since it requires quite a few rebuilds. If it works on powerpc, it should
probably be made conditional on the architecture to avoid a world rebuild.
I do not know whether this is possible in the patches field in an origin.

Andreas
From 5eb50bdc34759d4c917f2143e037fad62bc08ed7 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Thu, 13 Apr 2023 11:46:47 +0200
Subject: [PATCH] gnu: gcc-11: Fix build on powerpc64le.

* gnu/packages/patches/gcc-11-libstdc++-powerpc.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/gcc.scm (gcc-11)[origin]: Use patch.
---
gnu/local.mk | 1 +
gnu/packages/gcc.scm | 5 +++--
.../patches/gcc-11-libstdc++-powerpc.patch | 18 ++++++++++++++++++
3 files changed, 22 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/gcc-11-libstdc++-powerpc.patch

Toggle diff (61 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index b07811f1cb..1255846462 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1184,6 +1184,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-11-libstdc++-hurd-libpthread.patch \
%D%/packages/patches/gcc-12-cross-environment-variables.patch \
%D%/packages/patches/gcc-10-tree-sra-union-handling.patch \
+ %D%/packages/patches/gcc-11-libstdc++-powerpc.patch \
%D%/packages/patches/gcolor3-update-libportal-usage.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-brect-bounds.patch \
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index a511cdbc45..631e08db25 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -2,7 +2,7 @@
;;; Copyright ᅵ 2012-2023 Ludovic Courtᅵs <ludo@gnu.org>
;;; Copyright ᅵ 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright ᅵ 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright ᅵ 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright ᅵ 2015, 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright ᅵ 2015-2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright ᅵ 2016 Carlos Sᅵnchez de La Lama <csanchezdll@gmail.com>
;;; Copyright ᅵ 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -703,7 +703,8 @@ (define-public gcc-11
"0fdclcwf728wbq52vphfcjywzhpsjp3kifzj3pib3xcihs0z4z5l"))
(patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"
- "gcc-10-tree-sra-union-handling.patch"))
+ "gcc-10-tree-sra-union-handling.patch"
+ "gcc-11-libstdc++-powerpc.patch"))
(modules '((guix build utils)))
(snippet gcc-canadian-cross-objdump-snippet)))
(arguments
diff --git a/gnu/packages/patches/gcc-11-libstdc++-powerpc.patch b/gnu/packages/patches/gcc-11-libstdc++-powerpc.patch
new file mode 100644
index 0000000000..aff2ef16f1
--- /dev/null
+++ b/gnu/packages/patches/gcc-11-libstdc++-powerpc.patch
@@ -0,0 +1,18 @@
+diff -u -r gcc-11.3.0.alt/libstdc++-v3/src/c++17/floating_from_chars.cc gcc-11.3.0/libstdc++-v3/src/c++17/floating_from_chars.cc
+--- gcc-11.3.0.alt/libstdc++-v3/src/c++17/floating_from_chars.cc 2023-04-13 11:36:08.169841428 +0200
++++ gcc-11.3.0/libstdc++-v3/src/c++17/floating_from_chars.cc 2023-04-13 11:36:54.825827304 +0200
+@@ -495,8 +495,14 @@
+ from_chars(const char* first, const char* last, __ieee128& value,
+ chars_format fmt) noexcept
+ {
++#if _GLIBCXX_USE_CXX11_ABI
+ buffer_resource mr;
+ pmr::string buf(&mr);
++#else
++ string buf;
++ if (!reserve_string(buf))
++ return make_result(first, 0, {}, ec);
++#endif
+ size_t len = 0;
+ errc ec = errc::invalid_argument;
+ __try
--
2.39.2
C
C
Christopher Baines wrote on 13 Apr 2023 15:46
Re: bug#61879: Powerpc on core-updates
(name . Andreas Enge)(address . andreas@enge.fr)
87mt3byjrp.fsf@cbaines.net
Andreas Enge <andreas@enge.fr> writes:

Toggle quote (21 lines)
> In the file
> libstdc++-v3/src/c++17/floating_from_chars.cc
> previous functions have code like this:
> #if _GLIBCXX_USE_CXX11_ABI
> buffer_resource mr;
> pmr::string buf(&mr);
> #else
> string buf;
> if (!reserve_string(buf))
> return make_result(first, 0, {}, ec);
> #endif
>
> while here we only have:
> buffer_resource mr;
> pmr::string buf(&mr);
>
> So my guess would be that we should simply replace this snippet with the
> one above.
>
> Could someone with access to a powerpc machine try out this change?

Thanks for figuring this out Andreas! I've managed to apply this change
in the relevant place, and it appears to work.

I tried to apply it in a way that only affected powerpc64le-linux, but
I'm not sure I was successful. I've got no idea where it's best to apply
this patch, or how describe it, but at least this is a step forward.
Attachment: 0001-WIP.patch
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmQ4CGpfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XcKdxAAkuUBYDgcLRvtR2FAuCy1gjP/M2NsxJm2
yXIJ5FPzDpHgLapig5D2RglnE6oRzBvd+RthTUL1aelT5LOjfbcJhsp7jEigcUve
yX9MMpcR1uIgabk+ds1Oi8VO3anOQtu076xtrFF5H/OkdjqiOFgDBj7X0Y8UWOS1
VEKOHdaeCXdhNoaAM9B6IXJGFo+TlemNEbpJUGLJnW0KgTRITUOMaKdomuc2QG9k
/abaWeQ9iKDdda+WjgTrnh4JX4Q4/3wTPHLhzxqcl+HjDPRWYznRF5gIyUdR2gu9
1jPAO+ICgSQFQnxP6fMqJWyaV6rYVl2CojxlswUt5pk2zo1Raej47FW0HKjQI/vU
GOVyHt2EkATtkVb7xwW2qpEsM04+jlNlw3a5LkAQHfu0V/lcI2WEm5jY6aYXJu8n
WUdew2QeqQa3nbIulJj28hKORmJ05K2anA2x9gzE1etuY9ILr+N92NCZJgO7Q5yb
SWqhXPpL/q+Nbi1sUe7rEXxzXkJemeejVqZBsf3rkbIKHeHYLTbGSG9LY5wVO2gn
3M2ysnUXj/sDxZLjYy1OE3CqtgjwrHCJhLzwruv2z9rYbXJJFk2pwjwxbNjWLbK8
khiWtf0Lx8teS8lJq1Mg6XACB+26Ryms1Z6fJDn3p5r0a1OMFIfRPllRs/QA/ZfM
fyTcLgdBXJ8=
=4Wf+
-----END PGP SIGNATURE-----

A
A
Andreas Enge wrote on 13 Apr 2023 16:06
(name . Christopher Baines)(address . mail@cbaines.net)
ZDgMWFJX8Sn/XLrf@jurong
Am Thu, Apr 13, 2023 at 02:46:00PM +0100 schrieb Christopher Baines:
Toggle quote (3 lines)
> Thanks for figuring this out Andreas! I've managed to apply this change
> in the relevant place, and it appears to work.

Good news, thanks!

Toggle quote (3 lines)
> + #$@(if (and (target-ppc64le?)
> + (version>=? (package-version gcc) "11"))

The file changed a lot on master, and the patch will not apply and
should not be needed there. I did not check, but I think it is already
not needed for gcc@12 any more. So we should probably check for the
major version being equal to 11.

It should be easy to check that it does not cause any rebuilds on the
other architectures, and we cannot break powerpc more than it already
is, so feel free to push something along these lines to core-updates.

Andreas
A
A
Andreas Enge wrote on 13 Apr 2023 18:57
Patch
ZDg0hRXZoNOb+MNP@jurong
Hello,

attached is a new commit in old syntax, mixing both our commits.
I have confirmed that it does not change the gcc-11 build on x86_64 and i686.
But do we need "--force" for patching?

Could you maybe check again whether this builds gcc-11 on powerpc?

If yes, we can push it, and feel free to gexpify it in a separate commit.

Andreas
From 9900f9e9b86550e7d336b04ad46fba088e28cbd6 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Thu, 13 Apr 2023 11:46:47 +0200
Subject: [PATCH] gnu: gcc-11: Fix build on powerpc64le.

* gnu/packages/patches/gcc-11-libstdc++-powerpc.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register patch.
* gnu/packages/gcc.scm (make-libstdc++): Apply patch for gcc versions >= 11
and < 12 on ppc64le.

Co-authored-by: Christopher Baines <mail@cbaines.net>
---
gnu/local.mk | 1 +
gnu/packages/gcc.scm | 11 ++++++++++-
.../patches/gcc-11-libstdc++-powerpc.patch | 18 ++++++++++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/gcc-11-libstdc++-powerpc.patch

Toggle diff (67 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index b07811f1cb..1255846462 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1184,6 +1184,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-11-libstdc++-hurd-libpthread.patch \
%D%/packages/patches/gcc-12-cross-environment-variables.patch \
%D%/packages/patches/gcc-10-tree-sra-union-handling.patch \
+ %D%/packages/patches/gcc-11-libstdc++-powerpc.patch \
%D%/packages/patches/gcolor3-update-libportal-usage.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-brect-bounds.patch \
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index a511cdbc45..ae324219d3 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -2,7 +2,7 @@
;;; Copyright ᅵ 2012-2023 Ludovic Courtᅵs <ludo@gnu.org>
;;; Copyright ᅵ 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright ᅵ 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright ᅵ 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright ᅵ 2015, 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright ᅵ 2015-2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright ᅵ 2016 Carlos Sᅵnchez de La Lama <csanchezdll@gmail.com>
;;; Copyright ᅵ 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -889,6 +889,15 @@ (define-public (make-libstdc++ gcc)
":")
"\nAM_CXXFLAGS = ")))))))
'())
+ ,@(let ((version (package-version gcc)))
+ (if (and (target-ppc64le?)
+ (version>=? version "11")
+ (not (version>=? version "12")))
+ `((add-after 'unpack 'patch-powerpc
+ (lambda _
+ (invoke "patch" "--force" "-p1" "-i"
+ (search-patch "gcc-11-libstdc++-powerpc.patch")))))
+ '()))
;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
(add-before 'chdir 'fix-rs6000-libdir
(lambda _
diff --git a/gnu/packages/patches/gcc-11-libstdc++-powerpc.patch b/gnu/packages/patches/gcc-11-libstdc++-powerpc.patch
new file mode 100644
index 0000000000..aff2ef16f1
--- /dev/null
+++ b/gnu/packages/patches/gcc-11-libstdc++-powerpc.patch
@@ -0,0 +1,18 @@
+diff -u -r gcc-11.3.0.alt/libstdc++-v3/src/c++17/floating_from_chars.cc gcc-11.3.0/libstdc++-v3/src/c++17/floating_from_chars.cc
+--- gcc-11.3.0.alt/libstdc++-v3/src/c++17/floating_from_chars.cc 2023-04-13 11:36:08.169841428 +0200
++++ gcc-11.3.0/libstdc++-v3/src/c++17/floating_from_chars.cc 2023-04-13 11:36:54.825827304 +0200
+@@ -495,8 +495,14 @@
+ from_chars(const char* first, const char* last, __ieee128& value,
+ chars_format fmt) noexcept
+ {
++#if _GLIBCXX_USE_CXX11_ABI
+ buffer_resource mr;
+ pmr::string buf(&mr);
++#else
++ string buf;
++ if (!reserve_string(buf))
++ return make_result(first, 0, {}, ec);
++#endif
+ size_t len = 0;
+ errc ec = errc::invalid_argument;
+ __try
--
2.39.2
A
A
Andreas Enge wrote on 14 Apr 2023 10:15
ZDkLuF3QbwdkOHwL@jurong
Am Thu, Apr 13, 2023 at 06:57:41PM +0200 schrieb Andreas Enge:
Toggle quote (5 lines)
> attached is a new commit in old syntax, mixing both our commits.
> I have confirmed that it does not change the gcc-11 build on x86_64 and i686.
> But do we need "--force" for patching?
> Could you maybe check again whether this builds gcc-11 on powerpc?

I just pushed it, since it cannot break much... If CI shows it does not
work, we can still revert it.

Andreas
C
C
Christopher Baines wrote on 14 Apr 2023 10:20
(name . Andreas Enge)(address . andreas@enge.fr)(address . 61879@debbugs.gnu.org)
87bkjqx48h.fsf@cbaines.net
Andreas Enge <andreas@enge.fr> writes:

Toggle quote (9 lines)
> Am Thu, Apr 13, 2023 at 06:57:41PM +0200 schrieb Andreas Enge:
>> attached is a new commit in old syntax, mixing both our commits.
>> I have confirmed that it does not change the gcc-11 build on x86_64 and i686.
>> But do we need "--force" for patching?
>> Could you maybe check again whether this builds gcc-11 on powerpc?
>
> I just pushed it, since it cannot break much... If CI shows it does not
> work, we can still revert it.

I haven't tried this yet, but I've had a quick look. I'm not sure
search-patches will work where it is, since that'll be running in the
build environment, without any access to the patches in the Guix git
repository.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmQ5DU5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XefLhAAmQlOuK59K0hFOCx88lEibGuxS7jhbwsZ
nDUvsM2DKFBiCQBta/btiCy0Pk1zL/QfhkOQZQ74qlTNnS3eRJLw0lOx8T88iSPC
ErWyQSIuF4sSJG72Qlxgmn6/lDW4GCKgFYp6bbyUfR1NVkGSH2+hwqPUQY8ozChC
kDNqdkClD7TqfD3E4NBJpn1MJtrnr9kkYE5m+1CdSbPpGusIFSgO4mrjvJMmXmM4
XAKr4HiMnGs16NWMoEU3ApeOnRBYcGYDJa+D0uEJ8iFfIgNcqdmILcXrjG9uBR41
ppVJt/izqtgswJpxSSDmYwXAmWyaz+EA1/WdmOs99+N26g/uRe/wsK9buWkzukDr
neSpSVvFL22/J/KqMZ+4wBBKieNaoycYf7lhZq9hBqUD09aPxXrW1N3G7qpawD4P
YpjBdk+OOqvJFRBXHYy7mjb1H+yJqlUelXXCD35M+RhsvXd8nSf4ZH3FOosXGAc7
gEFqTGoM//7LWhzN+K/71tzdCmLxC3KEiKSzT/VRvsZKxNefEXl2tjeOw2yHxB0X
PvvGI8aFYT2Jw9b3E60GoQdwi28KdAGTVsnvF0m118fkomhmvqz03eqqjZTeDrXS
M27kOrWIVhoINUxyD5d8p+fQV+l/PiciDgaj5B1WyChHGZJ8SHxVO4iaaTiXnsh+
UEA0KYjvDUU=
=bSUT
-----END PGP SIGNATURE-----

A
A
Andreas Enge wrote on 14 Apr 2023 11:42
(name . Christopher Baines)(address . mail@cbaines.net)(address . 61879@debbugs.gnu.org)
ZDkgIG/KpP6W6ual@jurong
Am Fri, Apr 14, 2023 at 09:20:03AM +0100 schrieb Christopher Baines:
Toggle quote (5 lines)
> I haven't tried this yet, but I've had a quick look. I'm not sure
> search-patches will work where it is, since that'll be running in the
> build environment, without any access to the patches in the Guix git
> repository.

Good point. But is this not exactly like your previous commit, which
I understood you had tested? But you are right:
error: in phase 'patch-powerpc': uncaught exception:
unbound-variable #f "Unbound variable: ~S" (search-patch) #f
phase `patch-powerpc' failed after 0.0 seconds
I will revert (the good news: it indeed did not break any other
architecture).

If we do not have access to the patch during build, we would need to
replace it by an invocation of substitute*, with a lot of escaping of
special characters like line ends, which would be annoying to test
(well, one could test on x86_64 on a dummy package with the same source
as gcc-11).

Andreas
C
C
Christopher Baines wrote on 14 Apr 2023 12:37
(name . Andreas Enge)(address . andreas@enge.fr)(address . 61879@debbugs.gnu.org)
873552wxnb.fsf@cbaines.net
Andreas Enge <andreas@enge.fr> writes:

Toggle quote (21 lines)
> Am Fri, Apr 14, 2023 at 09:20:03AM +0100 schrieb Christopher Baines:
>> I haven't tried this yet, but I've had a quick look. I'm not sure
>> search-patches will work where it is, since that'll be running in the
>> build environment, without any access to the patches in the Guix git
>> repository.
>
> Good point. But is this not exactly like your previous commit, which
> I understood you had tested? But you are right:
> https://ci.guix.gnu.org/build/909454/log/raw
> error: in phase 'patch-powerpc': uncaught exception:
> unbound-variable #f "Unbound variable: ~S" (search-patch) #f
> phase `patch-powerpc' failed after 0.0 seconds
> I will revert (the good news: it indeed did not break any other
> architecture).
>
> If we do not have access to the patch during build, we would need to
> replace it by an invocation of substitute*, with a lot of escaping of
> special characters like line ends, which would be annoying to test
> (well, one could test on x86_64 on a dummy package with the same source
> as gcc-11).

The changes I muddled together differed in that the search-patches bit
was ungexp'ed, so the patch file was handled through that mechanism. The
other important change is the actual patch itself differed as well (ec
needs moving up a bit).

I've made those changes to the commit you pushed earlier and pushed to
core-updates now.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmQ5LqhfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XflAg/+IfCZx0YF66Ea55PszhFnTHK1dir5/AL3
3BsB5Ls1o3yUJYY4CHd7yapnS9C4KEhMS0I5VdtPe+0R52rtTkLq1mKplgfe6bZn
6vZ25F9aFXEnIOqpWPWm0Il1kmjAnc4rfQyWggWBN69rGtU9RieHS6LUNTe6acBx
+7sz2dTu9nXW0xKjrSwbWlptCndCneG0rb0bNGbLmI0hjDXvcAoVtNiIiA6wDWYu
yWimSlfndwWnSF1RvQtREOrAh19AVTAIwIIhRLQ15yXA85uHR4voWrZIhM8aTOSJ
mn+cRJg1z6OsXeyRLJDWFOtpcwI7rIi/rQEy7ES2eTG9EZkhlFtHgpvY1HXF0kth
dJMFyIHPIuRDbwQbnxDK1IW9swCwxE3iP04AiRtrlqqHUjPCNJ3meJPK/MwQbaWv
VNSKATnnlIyYkViINi+L31oEbV5PdpLFGZKvaOdbDa1hj0neMWrNc2cARtQgS3XW
/+9rnZZCv2ebCXvsNfpmhV+R8NSXRcjWvaRY9RnjQJXHNEnNzrk0X+/6shFwhwP1
8oZtMySqUIMxD6E1UoDvubK9KDYP2c5PJVOcEZl3Uxc5UXGMDAfr1IKTXW/UZIi5
aPLeNiWaCznE9Awz2lkhCybZp34YyBT0E02sbpjf9rzqDihJX2TrfTPePWHxcVcU
Qdjqg9RhMaY=
=EMAq
-----END PGP SIGNATURE-----

A
A
Andreas Enge wrote on 14 Apr 2023 14:10
(name . Christopher Baines)(address . mail@cbaines.net)(address . 61879-done@debbugs.gnu.org)
ZDlCwucDYycu0U6x@jurong
Am Fri, Apr 14, 2023 at 11:37:05AM +0100 schrieb Christopher Baines:
Toggle quote (3 lines)
> I've made those changes to the commit you pushed earlier and pushed to
> core-updates now.

That did it, lots of green dots in the dashboard. Thanks!

Closing the bug now.

Andreas
Closed
?