me
/
guix
Archived
1
0
Fork 0

gnu: make-bootstrap: Allow compilation of the statically-link gawk.

Previously, linking would fail due to the '-fno-common' default in GCC 10:

  ld: /gnu/store/…-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/…-glibc-2.33-static/lib/libc.a(getopt.o): in function `_getopt_internal':

Reported by Thiago Jung Bauermann <bauermann@kolabnow.com>.

* gnu/packages/make-bootstrap.scm (%static-inputs) <gawk>: Remove
getopt.o from libsupport.a.
master
Ludovic Courtès 2021-09-28 23:41:10 +02:00
parent 3f78935275
commit 7d30e6e5c2
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 11 additions and 2 deletions

View File

@ -206,8 +206,17 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(("^xz_LDADD =")
"xz_LDADD = -all-static"))
#t)))))))
(gawk (package (inherit gawk)
(source (origin (inherit (package-source gawk))
(gawk (package
(inherit gawk)
(source (origin
(inherit (package-source gawk))
(modules '((guix build utils)))
(snippet
;; Do not build 'getopt.c' since that leads to a
;; link failure due to duplicate symbols with
;; 'libc.a'.
'(substitute* "support/Makefile.in"
(("getopt\\.\\$\\(OBJEXT\\)") "")))
(patches (cons (search-patch "gawk-shell.patch")
(origin-patches
(package-source gawk))))))