GNU bug report logs - #50174
[PATCH core-updates-frozen 1/2] gnu: make-bootstrap: Fix build of static gawk.

Previous Next

Package: guix-patches;

Reported by: Thiago Jung Bauermann <bauermann <at> kolabnow.com>

Date: Mon, 23 Aug 2021 20:53:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 50174 in the body.
You can then email your comments to 50174 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#50174; Package guix-patches. (Mon, 23 Aug 2021 20:53:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Thiago Jung Bauermann <bauermann <at> kolabnow.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 23 Aug 2021 20:53:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
To: guix-patches <at> gnu.org
Cc: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Subject: [PATCH core-updates-frozen 1/2] gnu: make-bootstrap: Fix build of
 static gawk.
Date: Mon, 23 Aug 2021 17:51:27 -0300
* gnu/packages/make-bootstrap.scm (%static-inputs)[finalize-with-ld-flags]:
New function.
[map]<match-lambda>: Add new clause to match three elements.
[map]<gawk>: Add linker option.
* guix/build-system/gnu.scm (static-package): Add ‘#:ld-flags’ keyword
argument.
---

Hello,

gawk for ‘static-binaries-tarball’ is failing to build natively, at least for
x86_64-linux¹ and powerpc64le-linux. On both of them, the problem is the same:

--8<---------------cut here---------------start------------->8---
ld: ext.o: in function `load_ext':
/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/ext.c:59: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
ld: /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal_r':
(.text+0x6e0): multiple definition of `_getopt_internal_r'; support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/support/getopt.c:404: first defined here
ld: /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal':
(.text+0xcc0): multiple definition of `_getopt_internal'; support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/support/getopt.c:1187: first defined here
ld: /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/libc.a(getopt.o):(.data+0x8): multiple definition of `optind'; support/libsupport.a(getopt.o):/gnu/store/zy7zwhxxbphqqmigp17j54dpbpz6wr38-glibc-2.33/include/bits/getopt_core.h:50: first defined here
ld: /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/libc.a(getopt.o):(.data+0x4): multiple definition of `opterr'; support/libsupport.a(getopt.o):/gnu/store/zy7zwhxxbphqqmigp17j54dpbpz6wr38-glibc-2.33/include/bits/getopt_core.h:55: first defined here
ld: /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/libc.a(getopt.o):(.data+0x0): multiple definition of `optopt'; support/libsupport.a(getopt.o):/gnu/store/zy7zwhxxbphqqmigp17j54dpbpz6wr38-glibc-2.33/include/bits/getopt_core.h:59: first defined here
ld: /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/libc.a(getopt.o): in function `getopt':
(.text+0xd20): multiple definition of `getopt'; support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/support/getopt.c:1206: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:663: gawk] Error 1
make[2]: Leaving directory '/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0'
--8<---------------cut here---------------end--------------->8---

This patch fixes it by passing “--allow-multiple-definition” to the linker.

Judging by the CI results, cross-builds seems to be working. I haven’t looked
into what’s different about them.

NB: I wasn’t sure how to write a changelog for ‘%static-inputs’ so I got a bit
creative.

¹ https://ci.guix.gnu.org/build/502639/details

 gnu/packages/make-bootstrap.scm | 14 +++++++++++---
 guix/build-system/gnu.scm       |  8 ++++++--
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 12e59e9f8383..79eb9d60026f 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -260,10 +260,15 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                     `(modify-phases ,phases
                        (delete 'fix-egrep-and-fgrep)))))))
         (finalize (compose static-package
-                           package-with-relocatable-glibc)))
+                           package-with-relocatable-glibc))
+        (finalize-with-ld-flags (lambda (pkg ld-flags)
+                                  (package-with-relocatable-glibc
+                                   (static-package pkg #:ld-flags ld-flags)))))
     `(,@(map (match-lambda
               ((name package)
-               (list name (finalize package))))
+               (list name (finalize package)))
+               ((name package ld-flags)
+                (list name (finalize-with-ld-flags package ld-flags))))
              `(("tar" ,tar)
                ("gzip" ,gzip)
                ("bzip2" ,bzip2)
@@ -272,7 +277,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                ("coreutils" ,coreutils)
                ("sed" ,sed)
                ("grep" ,grep)
-               ("gawk" ,gawk)))
+               ("gawk" ,gawk
+                ;; gawk's gnulib defines some getopt symbols which are also in
+                ;; libc.a so this linker option is needed for a static build.
+                "-Wl,--allow-multiple-definition")))
       ("bash" ,static-bash))))
 
 (define %static-binaries
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index ea91be5bcd0c..acbd5b3a0de4 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -210,7 +210,7 @@ flags for VARIABLE, the associated value is augmented."
   "A version of P linked with `-static-gcc'."
   (package-with-extra-configure-variable p "LDFLAGS" "-static-libgcc"))
 
-(define* (static-package p #:key (strip-all? #t))
+(define* (static-package p #:key (strip-all? #t) (ld-flags #f))
   "Return a statically-linked version of package P.  If STRIP-ALL? is true,
 use `--strip-all' as the arguments to `strip'."
   (package (inherit p)
@@ -220,7 +220,11 @@ use `--strip-all' as the arguments to `strip'."
                   #:strip-flags '("--strip-unneeded")))))
        (substitute-keyword-arguments a
          ((#:configure-flags flags)
-          `(cons* "--disable-shared" "LDFLAGS=-static" ,flags))
+          `(cons* "--disable-shared" (string-append "LDFLAGS=-static"
+                                                    (if ,ld-flags
+                                                        (string-append " " ,ld-flags)
+                                                        ""))
+                  ,flags))
          ((#:strip-flags flags)
           (if strip-all?
               ''("--strip-all")




Information forwarded to guix-patches <at> gnu.org:
bug#50174; Package guix-patches. (Mon, 23 Aug 2021 21:03:01 GMT) Full text and rfc822 format available.

Message #8 received at 50174 <at> debbugs.gnu.org (full text, mbox):

From: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
To: 50174 <at> debbugs.gnu.org
Cc: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Subject: [PATCH core-updates-frozen 2/2] gnu: make-bootstrap: Enable tests in
 static gawk build.
Date: Mon, 23 Aug 2021 18:01:35 -0300
The tests were disabled because gawk’s extension mechanism doesn’t work
when it’s built statically, and some tests fail because of that.

Another alternative is to disable the extension mechanism during
configuration time, which causes the testsuite to pass again.

* gnu/packages/make-bootstrap.scm (%static-inputs)[gawk]<#:tests?>: Remove.
<#:configure-flags>: Add.
---
 gnu/packages/make-bootstrap.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 79eb9d60026f..2b4739b90eba 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -214,7 +214,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                    ;; plug-in mechanism just fail on static builds:
                    ;;
                    ;; ./fts.awk:1: error: can't open shared library `filefuncs' for reading (No such file or directory)
-                   #:tests? #f
+                   ;;
+                   ;; Therefore disable extensions support.
+                   #:configure-flags (list "--disable-extensions")
 
                    ,@(substitute-keyword-arguments (package-arguments gawk)
                        ((#:phases phases)




Added indication that bug 50174 blocks50358 Request was from Thiago Jung Bauermann <bauermann <at> kolabnow.com> to control <at> debbugs.gnu.org. (Fri, 10 Sep 2021 20:35:01 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#50174; Package guix-patches. (Mon, 27 Sep 2021 21:39:01 GMT) Full text and rfc822 format available.

Message #13 received at 50174 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Cc: 50174 <at> debbugs.gnu.org
Subject: Re: bug#50174: [PATCH core-updates-frozen 1/2] gnu: make-bootstrap:
 Fix build of static gawk.
Date: Mon, 27 Sep 2021 23:38:45 +0200
Hi Thiago,

Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:

> gawk for ‘static-binaries-tarball’ is failing to build natively, at least for
> x86_64-linux¹ and powerpc64le-linux. On both of them, the problem is the same:
>
> ld: ext.o: in function `load_ext':
> /tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/ext.c:59: warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
> ld: /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal_r':
> (.text+0x6e0): multiple definition of `_getopt_internal_r'; support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/support/getopt.c:404: first defined here

I don’t see that on x86_64/i686:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env  guix weather bootstrap-tarballs -s x86_64-linux -s i686-linux -s aarch64-linux -s armhf-linux --substitute-urls=https://ci.guix.gnu.org --display-missing
computing 1 package derivations for armhf-linux...
computing 1 package derivations for aarch64-linux...
computing 1 package derivations for i686-linux...
computing 1 package derivations for x86_64-linux...
looking for 4 store items on https://ci.guix.gnu.org...
https://ci.guix.gnu.org
  50.0% substitutes available (2 out of 4)
  at least 0.0 MiB of nars (compressed)
  0.0 MiB on disk (uncompressed)

  0.0% (0 out of 2) of the missing items are queued
  at least 1,000 queued builds
      i586-gnu: 386 (38.6%)
      powerpc64le-linux: 83 (8.3%)
      x86_64-linux: 527 (52.7%)
      aarch64-linux: 3 (.3%)
      i686-linux: 1 (.1%)
  build rate: .00 builds per hour
      x86_64-linux: 0.00 builds per hour
      i686-linux: 0.00 builds per hour
      aarch64-linux: 0.00 builds per hour
      powerpc64le-linux: 0.00 builds per hour

Substitutes are missing for the following items:
  /gnu/store/3c8gbn2gljj48wihs9h3nxmfwix55wrn-bootstrap-tarballs-0               armhf-linux
  /gnu/store/8b6rznm54l6drbs6qfca5bi8yjqbx51f-bootstrap-tarballs-0               aarch64-linux
$ git log |head -1
commit 7c5f01d55634254bea8bad4c9dcc31496efd4fce
--8<---------------cut here---------------end--------------->8---

Could it be that something changed in the meantime?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#50174; Package guix-patches. (Tue, 28 Sep 2021 03:40:01 GMT) Full text and rfc822 format available.

Message #16 received at 50174 <at> debbugs.gnu.org (full text, mbox):

From: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 50174 <at> debbugs.gnu.org
Subject: Re: bug#50174: [PATCH core-updates-frozen 1/2] gnu: make-bootstrap:
 Fix build of static gawk.
Date: Tue, 28 Sep 2021 00:39:17 -0300
Hello Ludo,

Em segunda-feira, 27 de setembro de 2021, às 18:38:45 -03, Ludovic Courtès 
escreveu:
> Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:
> > gawk for ‘static-binaries-tarball’ is failing to build natively, at
> > least for x86_64-linux¹ and powerpc64le-linux. On both of them, the
> > problem is the same:
> > 
> > ld: ext.o: in function `load_ext':
> > /tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/ext.c:59: warning: Using
> > 'dlopen' in statically linked applications requires at runtime the
> > shared libraries from the glibc version used for linking ld:
> > /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/libc
> > .a(getopt.o): in function `_getopt_internal_r': (.text+0x6e0): multiple
> > definition of `_getopt_internal_r';
> > support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5
> > .1.0/support/getopt.c:404: first defined here
> 
> I don’t see that on x86_64/i686:
> 
> --8<---------------cut here---------------start------------->8---
> $ ./pre-inst-env  guix weather bootstrap-tarballs -s x86_64-linux -s i686-linux

I’m using the package ‘static-binaries-tarball’ to expose the issue. IIUC,
the static binaries (of which ‘gawk-static’ is one) aren’t used for
bootstrapping on i686-linux and x86_64-linux so you won’t see this problem
with ‘bootstrap-tarballs’ on those platforms.

> -s aarch64-linux -s armhf-linux

OTOH, these platforms do use the static binaries. For some reason which TBH
I didn’t try to investigate, ‘gawk-static’ cross-builds correctly so you’ll only see
this problem on native builds of ‘bootstrap-tarballs’ or ‘static-binaries-tarball’.

> Substitutes are missing for the following items:
>   /gnu/store/3c8gbn2gljj48wihs9h3nxmfwix55wrn-bootstrap-tarballs-0       
>        armhf-linux
> /gnu/store/8b6rznm54l6drbs6qfca5bi8yjqbx51f-bootstrap-tarballs-0        
>       aarch64-linux

Doesn’t this mean that there is indeed a problem with ‘bootstrap-tarballs’
on these platforms?

> Could it be that something changed in the meantime?

It doesn’t look like it. The latest CI result for an x86_64-linux native
build of ‘static-binaries-tarball’ on ‘core-updates-frozen’ failed:

https://ci.guix.gnu.org/build/709458/details

Ditto for the ‘core-updates’ branch:

https://ci.guix.gnu.org/build/825383/details

Also, I can still reproduce the problem on my laptop with current
‘core-updates-frozen’ commit 81a34a90d72d (“doc: Update postgresql defaut
socket directory.”) using:

$ ./pre-inst-env guix build static-binaries-tarball

-- 
Thanks,
Thiago







Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Tue, 28 Sep 2021 22:20:02 GMT) Full text and rfc822 format available.

Notification sent to Thiago Jung Bauermann <bauermann <at> kolabnow.com>:
bug acknowledged by developer. (Tue, 28 Sep 2021 22:20:02 GMT) Full text and rfc822 format available.

Message #21 received at 50174-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Cc: 50174-done <at> debbugs.gnu.org
Subject: Re: bug#50174: [PATCH core-updates-frozen 1/2] gnu: make-bootstrap:
 Fix build of static gawk.
Date: Wed, 29 Sep 2021 00:19:04 +0200
Hi Thiago,

Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:

> Em segunda-feira, 27 de setembro de 2021, às 18:38:45 -03, Ludovic Courtès 
> escreveu:
>> Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:
>> > gawk for ‘static-binaries-tarball’ is failing to build natively, at
>> > least for x86_64-linux¹ and powerpc64le-linux. On both of them, the
>> > problem is the same:
>> > 
>> > ld: ext.o: in function `load_ext':
>> > /tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/ext.c:59: warning: Using
>> > 'dlopen' in statically linked applications requires at runtime the
>> > shared libraries from the glibc version used for linking ld:
>> > /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/libc
>> > .a(getopt.o): in function `_getopt_internal_r': (.text+0x6e0): multiple
>> > definition of `_getopt_internal_r';
>> > support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk-5
>> > .1.0/support/getopt.c:404: first defined here
>> 
>> I don’t see that on x86_64/i686:
>> 
>> --8<---------------cut here---------------start------------->8---
>> $ ./pre-inst-env  guix weather bootstrap-tarballs -s x86_64-linux -s i686-linux
>
> I’m using the package ‘static-binaries-tarball’ to expose the issue. IIUC,
> the static binaries (of which ‘gawk-static’ is one) aren’t used for
> bootstrapping on i686-linux and x86_64-linux so you won’t see this problem
> with ‘bootstrap-tarballs’ on those platforms.
>
>> -s aarch64-linux -s armhf-linux
>
> OTOH, these platforms do use the static binaries. For some reason which TBH
> I didn’t try to investigate, ‘gawk-static’ cross-builds correctly so you’ll only see
> this problem on native builds of ‘bootstrap-tarballs’ or ‘static-binaries-tarball’.

Oooh, my bad, sorry for the confusion.

>> Substitutes are missing for the following items:
>>   /gnu/store/3c8gbn2gljj48wihs9h3nxmfwix55wrn-bootstrap-tarballs-0       
>>        armhf-linux
>> /gnu/store/8b6rznm54l6drbs6qfca5bi8yjqbx51f-bootstrap-tarballs-0        
>>       aarch64-linux
>
> Doesn’t this mean that there is indeed a problem with ‘bootstrap-tarballs’
> on these platforms?

Yes, it does!  But I thought it might be “something else”.

I fixed it slightly differently in
7d30e6e5c21f5e0b79f73428414fef2dbf75e7a6, followed by the second patch
you had here.  Let’s see how far that brings us towards
’static-binaries-tarball’.

Thank you & sorry for the delay!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#50174; Package guix-patches. (Wed, 29 Sep 2021 02:00:02 GMT) Full text and rfc822 format available.

Message #24 received at 50174-done <at> debbugs.gnu.org (full text, mbox):

From: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 50174-done <at> debbugs.gnu.org
Subject: Re: bug#50174: [PATCH core-updates-frozen 1/2] gnu: make-bootstrap:
 Fix build of static gawk.
Date: Tue, 28 Sep 2021 22:59:27 -0300
Hello Ludo,

Em terça-feira, 28 de setembro de 2021, às 19:19:04 -03, Ludovic Courtès 
escreveu:
> Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:
> > Em segunda-feira, 27 de setembro de 2021, às 18:38:45 -03, Ludovic
> > Courtès> 
> > escreveu:
> >> Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:
> >> > gawk for ‘static-binaries-tarball’ is failing to build natively, at
> >> > least for x86_64-linux¹ and powerpc64le-linux. On both of them, the
> >> > problem is the same:
> >> > 
> >> > ld: ext.o: in function `load_ext':
> >> > /tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/ext.c:59: warning: Using
> >> > 'dlopen' in statically linked applications requires at runtime the
> >> > shared libraries from the glibc version used for linking ld:
> >> > /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/li
> >> > bc
> >> > .a(getopt.o): in function `_getopt_internal_r': (.text+0x6e0):
> >> > multiple
> >> > definition of `_getopt_internal_r';
> >> > support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk
> >> > -5
> >> > .1.0/support/getopt.c:404: first defined here
> >> 
> >> I don’t see that on x86_64/i686:
> >> 
> >> --8<---------------cut here---------------start------------->8---
> >> $ ./pre-inst-env  guix weather bootstrap-tarballs -s x86_64-linux -s
> >> i686-linux> 
> > I’m using the package ‘static-binaries-tarball’ to expose the issue.
> > IIUC, the static binaries (of which ‘gawk-static’ is one) aren’t used
> > for bootstrapping on i686-linux and x86_64-linux so you won’t see this
> > problem with ‘bootstrap-tarballs’ on those platforms.
> > 
> >> -s aarch64-linux -s armhf-linux
> > 
> > OTOH, these platforms do use the static binaries. For some reason which
> > TBH I didn’t try to investigate, ‘gawk-static’ cross-builds correctly
> > so you’ll only see this problem on native builds of
> > ‘bootstrap-tarballs’ or ‘static-binaries-tarball’.
> Oooh, my bad, sorry for the confusion.

No problem!
 
> >> Substitutes are missing for the following items:
> >>   /gnu/store/3c8gbn2gljj48wihs9h3nxmfwix55wrn-bootstrap-tarballs-0
> >>   
> >>        armhf-linux
> >> 
> >> /gnu/store/8b6rznm54l6drbs6qfca5bi8yjqbx51f-bootstrap-tarballs-0
> >> 
> >>       aarch64-linux
> > 
> > Doesn’t this mean that there is indeed a problem with
> > ‘bootstrap-tarballs’ on these platforms?
> 
> Yes, it does!  But I thought it might be “something else”.
> 
> I fixed it slightly differently in
> 7d30e6e5c21f5e0b79f73428414fef2dbf75e7a6, followed by the second patch
> you had here. 

Your solution is better indeed. Thanks!

> Let’s see how far that brings us towards ’static-binaries-tarball’.

According to the CI, x86_64-linux and i686-linux are fixed now. aarch64-
linux failed but that’s because of a bug in QEMU. powerpc64-linux is 
scheduled to build but there’s a backlog in the CI for some reason.

> Thank you & sorry for the delay!

No problem at all. Thank you for fixing this problem!

-- 
Thanks,
Thiago






Information forwarded to guix-patches <at> gnu.org:
bug#50174; Package guix-patches. (Tue, 12 Oct 2021 17:46:02 GMT) Full text and rfc822 format available.

Message #27 received at 50174-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 50174-done <at> debbugs.gnu.org
Subject: Re: bug#50174: [PATCH core-updates-frozen 1/2] gnu: make-bootstrap:
 Fix build of static gawk.
Date: Tue, 12 Oct 2021 13:45:42 -0400
Hello,

Thiago Jung Bauermann <bauermann <at> kolabnow.com> writes:

> Hello Ludo,
>
> Em terça-feira, 28 de setembro de 2021, às 19:19:04 -03, Ludovic Courtès 
> escreveu:
>> Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:
>> > Em segunda-feira, 27 de setembro de 2021, às 18:38:45 -03, Ludovic
>> > Courtès> 
>> > escreveu:
>> >> Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:
>> >> > gawk for ‘static-binaries-tarball’ is failing to build natively, at
>> >> > least for x86_64-linux¹ and powerpc64le-linux. On both of them, the
>> >> > problem is the same:
>> >> > 
>> >> > ld: ext.o: in function `load_ext':
>> >> > /tmp/guix-build-gawk-5.1.0.drv-0/gawk-5.1.0/ext.c:59: warning: Using
>> >> > 'dlopen' in statically linked applications requires at runtime the
>> >> > shared libraries from the glibc version used for linking ld:
>> >> > /gnu/store/qmgsfxm3ad5n7bi947n7xw0wq86blqr9-glibc-2.33-static/lib/li
>> >> > bc
>> >> > .a(getopt.o): in function `_getopt_internal_r': (.text+0x6e0):
>> >> > multiple
>> >> > definition of `_getopt_internal_r';
>> >> > support/libsupport.a(getopt.o):/tmp/guix-build-gawk-5.1.0.drv-0/gawk
>> >> > -5
>> >> > .1.0/support/getopt.c:404: first defined here
>> >> 
>> >> I don’t see that on x86_64/i686:
>> >> 
>> >> --8<---------------cut here---------------start------------->8---
>> >> $ ./pre-inst-env  guix weather bootstrap-tarballs -s x86_64-linux -s
>> >> i686-linux> 
>> > I’m using the package ‘static-binaries-tarball’ to expose the issue.
>> > IIUC, the static binaries (of which ‘gawk-static’ is one) aren’t used
>> > for bootstrapping on i686-linux and x86_64-linux so you won’t see this
>> > problem with ‘bootstrap-tarballs’ on those platforms.
>> > 
>> >> -s aarch64-linux -s armhf-linux
>> > 
>> > OTOH, these platforms do use the static binaries. For some reason which
>> > TBH I didn’t try to investigate, ‘gawk-static’ cross-builds correctly
>> > so you’ll only see this problem on native builds of
>> > ‘bootstrap-tarballs’ or ‘static-binaries-tarball’.
>> Oooh, my bad, sorry for the confusion.
>
> No problem!
>  
>> >> Substitutes are missing for the following items:
>> >>   /gnu/store/3c8gbn2gljj48wihs9h3nxmfwix55wrn-bootstrap-tarballs-0
>> >>   
>> >>        armhf-linux
>> >> 
>> >> /gnu/store/8b6rznm54l6drbs6qfca5bi8yjqbx51f-bootstrap-tarballs-0
>> >> 
>> >>       aarch64-linux
>> > 
>> > Doesn’t this mean that there is indeed a problem with
>> > ‘bootstrap-tarballs’ on these platforms?
>> 
>> Yes, it does!  But I thought it might be “something else”.
>> 
>> I fixed it slightly differently in
>> 7d30e6e5c21f5e0b79f73428414fef2dbf75e7a6, followed by the second patch
>> you had here. 
>
> Your solution is better indeed. Thanks!
>
>> Let’s see how far that brings us towards ’static-binaries-tarball’.
>
> According to the CI, x86_64-linux and i686-linux are fixed now. aarch64-
> linux failed but that’s because of a bug in QEMU. powerpc64-linux is 
> scheduled to build but there’s a backlog in the CI for some reason.
>
>> Thank you & sorry for the delay!
>
> No problem at all. Thank you for fixing this problem!

Seems Ludovic pushed a derived fix.  Thank you both!

Closing.

Maxim




Removed indication that bug 50174 blocks Request was from Maxim Cournoyer <maxim.cournoyer <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 12 Oct 2021 17:48:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#50174; Package guix-patches. (Tue, 12 Oct 2021 21:55:01 GMT) Full text and rfc822 format available.

Message #32 received at 50174-done <at> debbugs.gnu.org (full text, mbox):

From: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>,
 50174-done <at> debbugs.gnu.org
Subject: Re: bug#50174: [PATCH core-updates-frozen 1/2] gnu: make-bootstrap:
 Fix build of static gawk.
Date: Tue, 12 Oct 2021 18:53:51 -0300
Hello Maxim,

Em terça-feira, 12 de outubro de 2021, às 14:45:42 -03, Maxim Cournoyer 
escreveu:
> >> Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:
> >> > Em segunda-feira, 27 de setembro de 2021, às 18:38:45 -03, Ludovic
> >> > Courtès escreveu:
> >> Thank you & sorry for the delay!
> > 
> > No problem at all. Thank you for fixing this problem!
> 
> Seems Ludovic pushed a derived fix.  Thank you both!
> 
> Closing.

I hadn’t noticed that the issue wasn’t closed. Thank you for following up 
on it!

-- 
Thanks,
Thiago






bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 10 Nov 2021 12:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 139 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.