Build go with gccgo

  • Done
  • quality assurance status badge
Details
5 participants
  • Catonano
  • Efraim Flashner
  • Sarah Morgensen
  • Jack Hill
  • Christopher Baines
Owner
unassigned
Submitted by
Efraim Flashner
Severity
normal
E
E
Efraim Flashner wrote on 24 Aug 2017 22:51
(address . guix-patches@gnu.org)
20170824205146.GM2484@macbook42.flashner.co.il
I need some help testing this on x86_64, I did all the building and
testing on aarch64. It turns out there's a known issues in the cgo
implementation that causes the test suite to fail on aarch64. With this
patch set I was able to build gccgo@7 -> go@1.7 -> lfam's syncthing.

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 83bfb82f4da6fb23d3b64c7e23f9db001c85b283 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 7 Aug 2017 22:56:57 +0300
Subject: [PATCH 1/3] gnu: custom-gcc: Add flag to optionally not remove
conflicting files.

* gnu/packages/gcc.scm (custom-gcc): Add flag to optionally keep the
files that would conflict with gcc.
---
gnu/packages/gcc.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index bb8570bec..a22bb3c25 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -485,7 +485,8 @@ using compilers other than GCC."
(define* (custom-gcc gcc name languages
#:optional
(search-paths (package-native-search-paths gcc))
- #:key (separate-lib-output? #t))
+ #:key (separate-lib-output? #t)
+ (remove-conflicting-files? #t))
"Return a custom version of GCC that supports LANGUAGES. Use SEARCH-PATHS
as the 'native-search-paths' field."
(package (inherit gcc)
@@ -508,12 +509,14 @@ as the 'native-search-paths' field."
,flags)))
((#:phases phases)
`(modify-phases ,phases
- (add-after 'install 'remove-broken-or-conflicting-files
+ ,@(if remove-conflicting-files?
+ `((add-after 'install 'remove-broken-or-conflicting-files
(lambda* (#:key outputs #:allow-other-keys)
(for-each delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc.*)"))
- #t))))))))
+ #t)))
+ '())))))))
(define %generic-search-paths
;; This is the language-neutral search path for GCC. Entries in $CPATH are
--
2.14.0
From fbdf746826b308a9d23644fbb5bea93dee5e85e9 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 7 Aug 2017 22:59:22 +0300
Subject: [PATCH 2/3] gnu: Add gccgo@7.

* gnu/packages/gcc.scm (gccgo@7): New variable.
* gnu/packages/gcc.scm (gcc@7)[source]: Add patch.
* gnu/packages/patches/gcc-7.1-go-runpath.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
gnu/local.mk | 1 +
gnu/packages/gcc.scm | 15 ++++++++++++++-
gnu/packages/patches/gcc-7.1-go-runpath.patch | 10 ++++++++++
3 files changed, 25 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/gcc-7.1-go-runpath.patch

Toggle diff (63 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 8c00b0020..ee9429770 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -623,6 +623,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-5-source-date-epoch-2.patch \
%D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch \
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
+ %D%/packages/patches/gcc-7.1-go-runpath.patch \
%D%/packages/patches/gcr-disable-failing-tests.patch \
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \
%D%/packages/patches/gdk-pixbuf-list-dir.patch \
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index a22bb3c25..9cf347f76 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -414,7 +414,8 @@ Go. It also includes runtime support libraries for these languages.")
(base32
"05xwps0ci7wgxh50askpa2r9p8518qxdgh6ad7pnyk7n6p13d0ca"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
- "gcc-5.0-libvtv-runpath.patch"))))))
+ "gcc-5.0-libvtv-runpath.patch"
+ "gcc-7.1-go-runpath.patch"))))))
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions and the gfortran definition
@@ -565,6 +566,18 @@ as the 'native-search-paths' field."
;; a cyclic dependency. <http://debbugs.gnu.org/18101>
#:separate-lib-output? #f))
+(define-public gccgo-7
+ (custom-gcc gcc-7 "gccgo" '("go")
+ %generic-search-paths
+ ;; Suppress the separate "lib" output, because otherwise the
+ ;; "lib" and "out" outputs would refer to each other, creating
+ ;; a cyclic dependency. <http://debbugs.gnu.org/18101>
+ #:separate-lib-output? #f
+ ;; When building go, it is expected to use the same GCC output
+ ;; for gcc and for gccgo, so we compile go with the gcc from
+ ;; this build.
+ #:remove-conflicting-files? #f))
+
(define-public gcc-objc-4.8
(custom-gcc gcc-4.8 "gcc-objc" '("objc")
(list (search-path-specification
diff --git a/gnu/packages/patches/gcc-7.1-go-runpath.patch b/gnu/packages/patches/gcc-7.1-go-runpath.patch
new file mode 100644
index 000000000..d7d91301e
--- /dev/null
+++ b/gnu/packages/patches/gcc-7.1-go-runpath.patch
@@ -0,0 +1,10 @@
+--- gcc-7.1.0/gotools/Makefile.in
++++ gcc-7.1.0/gotools/Makefile.in
+@@ -258,6 +258,6 @@
+ # Use the compiler we just built.
+ @NATIVE_TRUE@GOCOMPILER = $(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET)
+ GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS)
+-AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs
++AM_LDFLAGS = -Wl,-rpath=$(libdir) -L $(libgodir) -L $(libgodir)/.libs
+ GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@
+ cmdsrcdir = $(srcdir)/../libgo/go/cmd
--
2.14.0
From 5b3e3ed9e8fddb36b7d884ab5d2dd6f0a4ad5220 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 7 Aug 2017 23:09:29 +0300
Subject: [PATCH 3/3] gnu: go: Build with gccgo@7.

* gnu/packages/golang.scm (go@1.8)[inputs]: Remove gcc-lib.
[native-inputs]: Remove go@1.4, add gccgo@7.
---
gnu/packages/golang.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 70cae6d87..3dee1d72b 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
@@ -219,7 +219,7 @@ sequential processes (CSP) concurrent programming features added.")
(replace 'prebuild
;; TODO: Most of this could be factorized with Go 1.4.
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
+ (let* ((gcclib (string-append (assoc-ref inputs "go") "/lib"))
(ld (string-append (assoc-ref inputs "libc") "/lib"))
(loader (car (find-files ld "^ld-linux.+")))
(net-base (assoc-ref inputs "net-base"))
@@ -362,8 +362,11 @@ sequential processes (CSP) concurrent programming features added.")
"LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
(copy-recursively "../" output))))))))
+ (inputs
+ `(("tzdata" ,tzdata)
+ ("pcre" ,pcre)))
(native-inputs
- `(("go" ,go-1.4)
+ `(("go" ,gccgo-7)
,@(package-native-inputs go-1.4)))))
(define-public go go-1.8)
--
2.14.0
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAlmfPGIACgkQQarn3Mo9
g1GXrQ//ZsnEc7Cl7lADz0ftcF6d58A3rMa47VTZk0QozNnHjH0eeoUNpMcTeLct
IXqOSYvg9TCNWSpn0RV3uvJyYqL/cAXQ3urR46WlxWLWoPcTbsCSBRk63Ib6Cvin
74r2kp1fllyLoVX9tJX18uH4jbBZ9DBqeywTkLdj0XQuKMb3ms22fMaxX/jn/81c
DPSKUKK2fQQFaeVKeDyPDEMPlwzdKEQj1nWTSvAUXofWFbvUARKhoHkvS/E42+cF
n5MtirsX61BcELhm7s3M9R/lGlpjfxZj9UO+QcvA811LsqetuzLnFUqAgYAmMyU9
lg7owSKKfe7Z58w041HIMqsq9KlXtW7ua2RI7K+dEfbp5btrOhLxMHfsZnocLZxz
mqZw8S4IPqua+6Z0hUSdAmQKcJHhlyybW0B2FKudeFBQC2aPPrzI019QTata9rxD
sVubl+JxNG9uKcpNANKtfcP0huO6OcETOEk+d+RHR8O/QB7bbbx9Obr/Qee6EbBC
MxzWM4WXmTE48/od8UWQr8Si2nqk6hEvL/nymiYA+2GZCxPxv9T5dgRx1CcwdeSV
07kIX8N86L5s5uxUN1CuDMMnGBUQ1qncACyj6kJ2JdflUf3ejudPNTnxUyWwELex
PbWNUFFu2G1G9GeAkguooW+uXLgsDuhhyXLvB4hmEgHsZ6+Gjo8=
=D0HC
-----END PGP SIGNATURE-----


C
C
Catonano wrote on 12 Sep 2017 11:59
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 28226@debbugs.gnu.org)
CAJ98PDxggb4QZA-c92r_d3brh+z2joeBWAcTTPyo=oyGgXe-wg@mail.gmail.com
2017-08-24 22:51 GMT+02:00 Efraim Flashner <efraim@flashner.co.il>:

Toggle quote (6 lines)
> I need some help testing this on x86_64, I did all the building and
> testing on aarch64. It turns out there's a known issues in the cgo
> implementation that causes the test suite to fail on aarch64. With this
> patch set I was able to build gccgo@7 -> go@1.7 -> lfam's syncthing.
>

I can't apply these patches

~/projects/guix$ git am
0001-gnu-custom-gcc-Add-flag-to-optionally-not-remove-con.patch
Applying: gnu: custom-gcc: Add flag to optionally not remove conflicting
files.

~/projects/guix$ git am 0002-gnu-Add-gccgo-7.patch
Applying: gnu: Add gccgo@7.
error: patch non riuscita: gnu/packages/gcc.scm:414
error: gnu/packages/gcc.scm: la patch non può essere applicata
Patch failed at 0001 gnu: Add gccgo@7.
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


I don't know what these patches do, I was just trying to apply them in
order (1, 2, 3)

Should I follow a different order ?

I would have attempted to build this thing

I git pulled on master right now ( 12 september) and created a branch for
thhese patches and git am'ed there
Attachment: file
E
E
Efraim Flashner wrote on 12 Sep 2017 12:44
(name . Catonano)(address . catonano@gmail.com)(address . 28226@debbugs.gnu.org)
20170912104447.GA3972@macbook42.flashner.co.il
On Tue, Sep 12, 2017 at 11:59:31AM +0200, Catonano wrote:
Toggle quote (36 lines)
> 2017-08-24 22:51 GMT+02:00 Efraim Flashner <efraim@flashner.co.il>:
>
> > I need some help testing this on x86_64, I did all the building and
> > testing on aarch64. It turns out there's a known issues in the cgo
> > implementation that causes the test suite to fail on aarch64. With this
> > patch set I was able to build gccgo@7 -> go@1.7 -> lfam's syncthing.
> >
>
> I can't apply these patches
>
> ~/projects/guix$ git am
> 0001-gnu-custom-gcc-Add-flag-to-optionally-not-remove-con.patch
> Applying: gnu: custom-gcc: Add flag to optionally not remove conflicting
> files.
>
> ~/projects/guix$ git am 0002-gnu-Add-gccgo-7.patch
> Applying: gnu: Add gccgo@7.
> error: patch non riuscita: gnu/packages/gcc.scm:414
> error: gnu/packages/gcc.scm: la patch non può essere applicata
> Patch failed at 0001 gnu: Add gccgo@7.
> The copy of the patch that failed is found in: .git/rebase-apply/patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
>
>
> I don't know what these patches do, I was just trying to apply them in
> order (1, 2, 3)
>
> Should I follow a different order ?
>
> I would have attempted to build this thing
>
> I git pulled on master right now ( 12 september) and created a branch for
> thhese patches and git am'ed there

I've reattached the patches, seems they don't apply cleanly anymore

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 649980fb84726ba758f68e40b836974148154428 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 7 Aug 2017 22:56:57 +0300
Subject: [PATCH 1/3] gnu: custom-gcc: Add flag to optionally not remove
conflicting files.

* gnu/packages/gcc.scm (custom-gcc): Add flag to optionally keep the
files that would conflict with gcc.
---
gnu/packages/gcc.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index da4d66ce36..14a49b9aac 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -486,7 +486,8 @@ using compilers other than GCC."
(define* (custom-gcc gcc name languages
#:optional
(search-paths (package-native-search-paths gcc))
- #:key (separate-lib-output? #t))
+ #:key (separate-lib-output? #t)
+ (remove-conflicting-files? #t))
"Return a custom version of GCC that supports LANGUAGES. Use SEARCH-PATHS
as the 'native-search-paths' field."
(package (inherit gcc)
@@ -509,12 +510,14 @@ as the 'native-search-paths' field."
,flags)))
((#:phases phases)
`(modify-phases ,phases
- (add-after 'install 'remove-broken-or-conflicting-files
+ ,@(if remove-conflicting-files?
+ `((add-after 'install 'remove-broken-or-conflicting-files
(lambda* (#:key outputs #:allow-other-keys)
(for-each delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc.*)"))
- #t))))))))
+ #t)))
+ '())))))))
(define %generic-search-paths
;; This is the language-neutral search path for GCC. Entries in $CPATH are
--
2.14.1
From 6917ddf5d319df740b63e5a2f50c7d0da0bbfea9 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 7 Aug 2017 22:59:22 +0300
Subject: [PATCH 2/3] gnu: Add gccgo@7.

* gnu/packages/gcc.scm (gccgo@7): New variable.
* gnu/packages/gcc.scm (gcc@7)[source]: Add patch.
* gnu/packages/patches/gcc-7.1-go-runpath.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
gnu/local.mk | 1 +
gnu/packages/gcc.scm | 15 ++++++++++++++-
gnu/packages/patches/gcc-7.1-go-runpath.patch | 13 +++++++++++++
3 files changed, 28 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/gcc-7.1-go-runpath.patch

Toggle diff (66 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 643a88db81..9b61b16578 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -628,6 +628,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-5-source-date-epoch-2.patch \
%D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch \
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
+ %D%/packages/patches/gcc-7.1-go-runpath.patch \
%D%/packages/patches/gcr-disable-failing-tests.patch \
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \
%D%/packages/patches/gdk-pixbuf-list-dir.patch \
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 14a49b9aac..aca2e19696 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -415,7 +415,8 @@ Go. It also includes runtime support libraries for these languages.")
(base32
"16j7i0888j2f1yp9l0nhji6cq65dy6y4nwy8868a8njbzzwavxqw"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
- "gcc-5.0-libvtv-runpath.patch"))))))
+ "gcc-5.0-libvtv-runpath.patch"
+ "gcc-7.1-go-runpath.patch"))))))
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions and the gfortran definition
@@ -566,6 +567,18 @@ as the 'native-search-paths' field."
;; a cyclic dependency. <http://debbugs.gnu.org/18101>
#:separate-lib-output? #f))
+(define-public gccgo-7
+ (custom-gcc gcc-7 "gccgo" '("go")
+ %generic-search-paths
+ ;; Suppress the separate "lib" output, because otherwise the
+ ;; "lib" and "out" outputs would refer to each other, creating
+ ;; a cyclic dependency. <http://debbugs.gnu.org/18101>
+ #:separate-lib-output? #f
+ ;; When building go, it is expected to use the same GCC output
+ ;; for gcc and for gccgo, so we compile go with the gcc from
+ ;; this build.
+ #:remove-conflicting-files? #f))
+
(define-public gcc-objc-4.8
(custom-gcc gcc-4.8 "gcc-objc" '("objc")
(list (search-path-specification
diff --git a/gnu/packages/patches/gcc-7.1-go-runpath.patch b/gnu/packages/patches/gcc-7.1-go-runpath.patch
new file mode 100644
index 0000000000..e1ff2fc034
--- /dev/null
+++ b/gnu/packages/patches/gcc-7.1-go-runpath.patch
@@ -0,0 +1,13 @@
+--- gcc-7.1.0/gotools/Makefile.in
++++ gcc-7.1.0/gotools/Makefile.in
+@@ -258,6 +258,6 @@
+ # Use the compiler we just built.
+ @NATIVE_TRUE@GOCOMPILER = $(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET)
+ GOCOMPILE = $(GOCOMPILER) $(GOCFLAGS)
+-AM_LDFLAGS = -L $(libgodir) -L $(libgodir)/.libs
++AM_LDFLAGS = -Wl,-rpath=$(libdir) -L $(libgodir) -L $(libgodir)/.libs
+ GOLINK = $(GOCOMPILER) $(GOCFLAGS) $(AM_GOCFLAGS) $(LDFLAGS) $(AM_LDFLAGS) -o $@
+ cmdsrcdir = $(srcdir)/../libgo/go/cmd
+--
+2.14.0
+
--
2.14.1
From 5ae1423b545a1284a840ee883e2781bb92b49741 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 7 Aug 2017 23:09:29 +0300
Subject: [PATCH 3/3] gnu: go: Build with gccgo@7.

* gnu/packages/golang.scm (go@1.8)[inputs]: Remove gcc-lib.
[native-inputs]: Remove go@1.4, add gccgo@7.
---
gnu/packages/golang.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Toggle diff (35 lines)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 9f3ccc8f69..be5f2f8e37 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
@@ -220,7 +220,7 @@ sequential processes (CSP) concurrent programming features added.")
(replace 'prebuild
;; TODO: Most of this could be factorized with Go 1.4.
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
+ (let* ((gcclib (string-append (assoc-ref inputs "go") "/lib"))
(ld (string-append (assoc-ref inputs "libc") "/lib"))
(loader (car (find-files ld "^ld-linux.+")))
(net-base (assoc-ref inputs "net-base"))
@@ -370,8 +370,11 @@ sequential processes (CSP) concurrent programming features added.")
"LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
(copy-recursively "../" output))))))))
+ (inputs
+ `(("tzdata" ,tzdata)
+ ("pcre" ,pcre)))
(native-inputs
- `(("go" ,go-1.4)
+ `(("go" ,gccgo-7)
,@(package-native-inputs go-1.4)))))
(define-public go go-1.9)
--
2.14.1
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAlm3upkACgkQQarn3Mo9
g1HG/xAApWGWdAPo5yfqCnPrpZC43dN3bHVzj5DhHpHsZgsfuX48kOPSCY988eqb
ATM/4rz3Uuo4o23sM5S1QFBijHw6M3EpIm3kllwuhCb58rpQOzCyxWqGcW3wkOmh
A2/UO28R81vtlXmTTIrX3tchFea4CYIlkyhg4LtZW3Hg8gXXpvrZ1bYKyd6cpRQw
zLvZ9gS98YPoaPyAKC8Ktd1+REXtcoeekjwUDJk4Ln6AkPq2sjfqTqicUPWDtVB6
GEFrakdKgTEFaL3jMrBbPy4lM56ljC+i8HP/eh19Qg9Be8TnmwSps6ifYdhdQJPV
dunOj8VrCdiqQ5bNySb+W4hBPJle1oJfYbYcFVaTgA+LW8l/vPmhfF1zFW65fcsR
QIAMaFvKNDQBrld6cFPSsrg+YcWzWSAgSVGQ81r982ipBufuHkZWvaujDzVDB59c
bPCiqVZE2qIE4xRHYAELTFRpJMOTszJP/ASqcNTl5ilx5bA2c3zZqKujhHn5T32X
GuZ/t+h6JC0GjH9HcqlaGUvB+b0XNMWRlOA51WYp8miKEyS0wdL549ViUQQBj2Ur
f9xzth8KuhBTtZO9gCmHhOwjosXLLP3+tOx51hWPbsxZeDzFW+tzdztnqQT7nh4b
jhH12W7RAa6eNURYsicXbRpnIRgqQmf+GirW7rCZorQpm+T7BjU=
=otmL
-----END PGP SIGNATURE-----


C
C
Catonano wrote on 12 Sep 2017 14:54
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 28226@debbugs.gnu.org)
CAJ98PDxCXJS61aO=mKRvK5FXMDmPj3vsBu-5x2MHaVgwrw6pLg@mail.gmail.com
2017-09-12 12:44 GMT+02:00 Efraim Flashner <efraim@flashner.co.il>:

Toggle quote (41 lines)
> On Tue, Sep 12, 2017 at 11:59:31AM +0200, Catonano wrote:
> > 2017-08-24 22:51 GMT+02:00 Efraim Flashner <efraim@flashner.co.il>:
> >
> > > I need some help testing this on x86_64, I did all the building and
> > > testing on aarch64. It turns out there's a known issues in the cgo
> > > implementation that causes the test suite to fail on aarch64. With this
> > > patch set I was able to build gccgo@7 -> go@1.7 -> lfam's syncthing.
> > >
> >
> > I can't apply these patches
> >
> > ~/projects/guix$ git am
> > 0001-gnu-custom-gcc-Add-flag-to-optionally-not-remove-con.patch
> > Applying: gnu: custom-gcc: Add flag to optionally not remove conflicting
> > files.
> >
> > ~/projects/guix$ git am 0002-gnu-Add-gccgo-7.patch
> > Applying: gnu: Add gccgo@7.
> > error: patch non riuscita: gnu/packages/gcc.scm:414
> > error: gnu/packages/gcc.scm: la patch non può essere applicata
> > Patch failed at 0001 gnu: Add gccgo@7.
> > The copy of the patch that failed is found in: .git/rebase-apply/patch
> > When you have resolved this problem, run "git am --continue".
> > If you prefer to skip this patch, run "git am --skip" instead.
> > To restore the original branch and stop patching, run "git am --abort".
> >
> >
> > I don't know what these patches do, I was just trying to apply them in
> > order (1, 2, 3)
> >
> > Should I follow a different order ?
> >
> > I would have attempted to build this thing
> >
> > I git pulled on master right now ( 12 september) and created a branch for
> > thhese patches and git am'ed there
>
> I've reattached the patches, seems they don't apply cleanly anymore
>
>

This is the last part of the build log
Do you need the whole log ?

[...]
##### Testing without libgcc.
ok crypto/x509 0.662s
ok net 0.005s
ok os/user 0.007s

##### internal linking of -buildmode=pie
ok reflect 0.680s

##### sync -cpu=10
ok sync 0.325s

##### ../misc/cgo/stdio

##### ../misc/cgo/life

##### ../misc/cgo/test
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 6.050s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 6.250s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 5.827s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testtls 0.002s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testtls 0.009s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testtls 0.001s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/nocgo 0.002s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/nocgo 0.002s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/nocgo 0.002s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 4.177s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testtls 0.016s
PASS
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/nocgo 0.010s

##### Testing race detector
ok runtime/race 4.613s
ok flag 1.031s
ok os 1.051s
ok os/exec 1.028s [no tests to run]
PASS
scatter = 0x610b10
hello from C
sqrt is: 0
ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 4.708s
ok flag 1.031s
ok os/exec 1.012s [no tests to run]

##### ../misc/cgo/testgodefs

##### ../misc/cgo/testso

##### ../misc/cgo/testsovar

##### ../misc/cgo/testcarchive
PASS

##### ../misc/cgo/testcshared
ok

##### ../misc/cgo/testshared
--- FAIL: TestGoPathShlibGccgo (0.13s)
shared_test.go:65: executing go install
-installsuffix=5577006791947779410 -compiler=gccgo -buildmode=shared
-linkshared depBase failed exit status 2:
# /tmp/guix-build-go-1.9.drv-0/go-build895598556/libdepBase.so
gccgo: error: unrecognized command line option
‘-rpath=/gnu/store/41938jrv1xlhawdskyhz45vvbzaic60v-gccgo-7.2.0/lib’
--- FAIL: TestTwoGopathShlibsGccgo (0.08s)
shared_test.go:65: executing go install
-installsuffix=5577006791947779410 -compiler=gccgo -buildmode=shared
-linkshared depBase failed exit status 2:
# /tmp/guix-build-go-1.9.drv-0/go-build013538701/libdepBase.so
gccgo: error: unrecognized command line option
‘-rpath=/gnu/store/41938jrv1xlhawdskyhz45vvbzaic60v-gccgo-7.2.0/lib’
FAIL
exit status 1
FAIL _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testshared 19.432s
2017/09/12 12:45:19 Failed: exit status 1

##### ../misc/cgo/testplugin
PASS
something

##### ../misc/cgo/testasan

##### ../misc/cgo/testsanitizers
./test.bash: line 18: sysctl: command not found
skipping msan tests: gcc -fsanitize=memory not supported

##### ../misc/cgo/errors
skipped due to earlier error

##### ../misc/cgo/testsigfwd
skipped due to earlier error

##### ../test/bench/go1
skipped due to earlier error

##### ../test
skipped due to earlier error

##### API check
skipped due to earlier error
2017/09/12 12:45:37 FAILED
phase `build' failed after 382.6 seconds
builder for `/gnu/store/4k6ag9n2r2239r9cjjkyq76pa9n0bw94-go-1.9.drv' failed
with exit code 1
@ build-failed /gnu/store/4k6ag9n2r2239r9cjjkyq76pa9n0bw94-go-1.9.drv - 1
builder for `/gnu/store/4k6ag9n2r2239r9cjjkyq76pa9n0bw94-go-1.9.drv' failed
with exit code 1
guix build: error: build failed: build of
`/gnu/store/4k6ag9n2r2239r9cjjkyq76pa9n0bw94-go-1.9.drv' failed
catonano@xps ~/projects/guix [env]$
Attachment: file
C
C
Christopher Baines wrote on 19 Mar 2018 09:02
control message for bug #28226
(address . control@debbugs.gnu.org)
87sh8w5w7q.fsf@cbaines.net
tags 28226 patch
J
J
Jack Hill wrote on 6 Jun 2020 01:58
go with gccgo still relevant?
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 28226@debbugs.gnu.org)
alpine.DEB.2.20.2006051954280.5735@marsh.hcoop.net
Efraim,

I cam across this old bug. Do you think it is still relevant?

Best,
Jack
E
E
Efraim Flashner wrote on 7 Jun 2020 09:34
(name . Jack Hill)(address . jackhill@jackhill.us)(address . 28226@debbugs.gnu.org)
20200607073419.GB24239@E5400
On Fri, Jun 05, 2020 at 07:58:15PM -0400, Jack Hill wrote:
Toggle quote (7 lines)
> Efraim,
>
> I cam across this old bug. Do you think it is still relevant?
>
> Best,
> Jack

Yes and no. The patches I provided didn't work as expected, but we do
want to have an alternate go implementation for architectures which
aren't supported by go-1.4.

--
Efraim Flashner <efraim@flashner.co.il> ????? ?????
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl7cmHcACgkQQarn3Mo9
g1GIyA//SGSFlg5TKj8Y6xQNkOgFrQrv/BVtX99z4wjzdVEMLlvGq5ZSX+IKDi46
+08IkrMICncXZ6lxrl0AcK9K8HSfrNkir21UXycu0Rraw3cYIDLCEcitnDQdbRkY
DsAoWRAesyrgCOFCLVG7gkxGBZkK8Zd0uaohsUVdqkIVy8T8GT/+dGuvdfylzIb1
Lr58w1LRu+59Y1U1P9w77nEXkJv7JXXhYRaXcK9gpaRu2VjfQQkA1QiZnavkV4kB
p7Zk9KmG3c+WoX7376q27v0YhmKbTQemWcYzI0Rnt1meEXolAdrUKEWDilBVt395
cDKNdUzkNn++LJVLnp/mDaa7IpPLoA+7wRV7Jy1GeUoaRS+/VCR5202/f3x/vHlN
8AYTi+tef5qfw5MdYGPQ4hwoJwtavYQYlIECbSloftdWEW5eHroKh03BE9C8n1A5
1iLwb+iZguY1YkP4jgUJPm5gPJbhlCHgi0TSKU2p3Vl5Fk+yoX7RrvU5TtdnLt6p
n0meOITB2Mv03oqHiDLjCEuDIsh+Md8qiha3CXaAhBOMolC5Bfe72wcp1KeJ+68d
/CakNHuWvTIA1QV8BjuJWap8vnpeSX5v/wsSdn0jVowto9d2wVvhgDRCgqDIKVHe
ctwQ8himhT6AEfcTmtuVmPKgDtFHwkqT8RQAbpF+ePYGhELl92s=
=EkNC
-----END PGP SIGNATURE-----


S
S
Sarah Morgensen wrote on 6 Aug 2021 01:05
Re: bug#28226: Build go with gccgo
(name . bug#28226)(address . 28226-done@debbugs.gnu.org)
86y29f1ohx.fsf@mgsn.dev
Implemented by #49221; closing.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 28226@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 28226
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch