Build go with gccgo

OpenSubmitted by Efraim Flashner.
Details
4 participants
  • Catonano
  • Efraim Flashner
  • Jack Hill
  • Christopher Baines
Owner
unassigned
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 andtesting on aarch64. It turns out there's a known issues in the cgoimplementation that causes the test suite to fail on aarch64. With thispatch 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 8351Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 83bfb82f4da6fb23d3b64c7e23f9db001c85b283 Mon Sep 17 00:00:00 2001From: Efraim Flashner <efraim@flashner.co.il>Date: Mon, 7 Aug 2017 22:56:57 +0300Subject: [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 thefiles 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.scmindex 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 2001From: Efraim Flashner <efraim@flashner.co.il>Date: Mon, 7 Aug 2017 22:59:22 +0300Subject: [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.mkindex 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.scmindex 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-specificationdiff --git a/gnu/packages/patches/gcc-7.1-go-runpath.patch b/gnu/packages/patches/gcc-7.1-go-runpath.patchnew file mode 100644index 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 2001From: Efraim Flashner <efraim@flashner.co.il>Date: Mon, 7 Aug 2017 23:09:29 +0300Subject: [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.scmindex 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-----
iQIzBAEBCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAlmfPGIACgkQQarn3Mo9g1GXrQ//ZsnEc7Cl7lADz0ftcF6d58A3rMa47VTZk0QozNnHjH0eeoUNpMcTeLctIXqOSYvg9TCNWSpn0RV3uvJyYqL/cAXQ3urR46WlxWLWoPcTbsCSBRk63Ib6Cvin74r2kp1fllyLoVX9tJX18uH4jbBZ9DBqeywTkLdj0XQuKMb3ms22fMaxX/jn/81cDPSKUKK2fQQFaeVKeDyPDEMPlwzdKEQj1nWTSvAUXofWFbvUARKhoHkvS/E42+cFn5MtirsX61BcELhm7s3M9R/lGlpjfxZj9UO+QcvA811LsqetuzLnFUqAgYAmMyU9lg7owSKKfe7Z58w041HIMqsq9KlXtW7ua2RI7K+dEfbp5btrOhLxMHfsZnocLZxzmqZw8S4IPqua+6Z0hUSdAmQKcJHhlyybW0B2FKudeFBQC2aPPrzI019QTata9rxDsVubl+JxNG9uKcpNANKtfcP0huO6OcETOEk+d+RHR8O/QB7bbbx9Obr/Qee6EbBCMxzWM4WXmTE48/od8UWQr8Si2nqk6hEvL/nymiYA+2GZCxPxv9T5dgRx1CcwdeSV07kIX8N86L5s5uxUN1CuDMMnGBUQ1qncACyj6kJ2JdflUf3ejudPNTnxUyWwELexPbWNUFFu2G1G9GeAkguooW+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 am0001-gnu-custom-gcc-Add-flag-to-optionally-not-remove-con.patchApplying: gnu: custom-gcc: Add flag to optionally not remove conflictingfiles.
~/projects/guix$ git am 0002-gnu-Add-gccgo-7.patchApplying: gnu: Add gccgo@7.error: patch non riuscita: gnu/packages/gcc.scm:414error: gnu/packages/gcc.scm: la patch non può essere applicataPatch failed at 0001 gnu: Add gccgo@7.The copy of the patch that failed is found in: .git/rebase-apply/patchWhen 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 inorder (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 forthhese 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 8351Confidentiality cannot be guaranteed on emails sent or received unencrypted
From 649980fb84726ba758f68e40b836974148154428 Mon Sep 17 00:00:00 2001From: Efraim Flashner <efraim@flashner.co.il>Date: Mon, 7 Aug 2017 22:56:57 +0300Subject: [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 thefiles 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.scmindex 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 2001From: Efraim Flashner <efraim@flashner.co.il>Date: Mon, 7 Aug 2017 22:59:22 +0300Subject: [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.mkindex 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.scmindex 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-specificationdiff --git a/gnu/packages/patches/gcc-7.1-go-runpath.patch b/gnu/packages/patches/gcc-7.1-go-runpath.patchnew file mode 100644index 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 2001From: Efraim Flashner <efraim@flashner.co.il>Date: Mon, 7 Aug 2017 23:09:29 +0300Subject: [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.scmindex 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-----
iQIzBAEBCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAlm3upkACgkQQarn3Mo9g1HG/xAApWGWdAPo5yfqCnPrpZC43dN3bHVzj5DhHpHsZgsfuX48kOPSCY988eqbATM/4rz3Uuo4o23sM5S1QFBijHw6M3EpIm3kllwuhCb58rpQOzCyxWqGcW3wkOmhA2/UO28R81vtlXmTTIrX3tchFea4CYIlkyhg4LtZW3Hg8gXXpvrZ1bYKyd6cpRQwzLvZ9gS98YPoaPyAKC8Ktd1+REXtcoeekjwUDJk4Ln6AkPq2sjfqTqicUPWDtVB6GEFrakdKgTEFaL3jMrBbPy4lM56ljC+i8HP/eh19Qg9Be8TnmwSps6ifYdhdQJPVdunOj8VrCdiqQ5bNySb+W4hBPJle1oJfYbYcFVaTgA+LW8l/vPmhfF1zFW65fcsRQIAMaFvKNDQBrld6cFPSsrg+YcWzWSAgSVGQ81r982ipBufuHkZWvaujDzVDB59cbPCiqVZE2qIE4xRHYAELTFRpJMOTszJP/ASqcNTl5ilx5bA2c3zZqKujhHn5T32XGuZ/t+h6JC0GjH9HcqlaGUvB+b0XNMWRlOA51WYp8miKEyS0wdL549ViUQQBj2Urf9xzth8KuhBTtZO9gCmHhOwjosXLLP3+tOx51hWPbsxZeDzFW+tzdztnqQT7nh4bjhH12W7RAa6eNURYsicXbRpnIRgqQmf+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 logDo you need the whole log ?
[...]##### Testing without libgcc.ok crypto/x509 0.662sok net 0.005sok os/user 0.007s
##### internal linking of -buildmode=pieok reflect 0.680s
##### sync -cpu=10ok sync 0.325s
##### ../misc/cgo/stdio
##### ../misc/cgo/life
##### ../misc/cgo/testPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 6.050sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 6.250sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 5.827sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testtls 0.002sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testtls 0.009sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testtls 0.001sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/nocgo 0.002sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/nocgo 0.002sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/nocgo 0.002sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 4.177sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testtls 0.016sPASSok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/nocgo 0.010s
##### Testing race detectorok runtime/race 4.613sok flag 1.031sok os 1.051sok os/exec 1.028s [no tests to run]PASSscatter = 0x610b10hello from Csqrt is: 0ok _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/test 4.708sok flag 1.031sok os/exec 1.012s [no tests to run]
##### ../misc/cgo/testgodefs
##### ../misc/cgo/testso
##### ../misc/cgo/testsovar
##### ../misc/cgo/testcarchivePASS
##### ../misc/cgo/testcsharedok
##### ../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’FAILexit status 1FAIL _/tmp/guix-build-go-1.9.drv-0/go/misc/cgo/testshared 19.432s2017/09/12 12:45:19 Failed: exit status 1
##### ../misc/cgo/testpluginPASSsomething
##### ../misc/cgo/testasan
##### ../misc/cgo/testsanitizers./test.bash: line 18: sysctl: command not foundskipping msan tests: gcc -fsanitize=memory not supported
##### ../misc/cgo/errorsskipped due to earlier error
##### ../misc/cgo/testsigfwdskipped due to earlier error
##### ../test/bench/go1skipped due to earlier error
##### ../testskipped due to earlier error
##### API checkskipped due to earlier error2017/09/12 12:45:37 FAILEDphase `build' failed after 382.6 secondsbuilder for `/gnu/store/4k6ag9n2r2239r9cjjkyq76pa9n0bw94-go-1.9.drv' failedwith exit code 1@ build-failed /gnu/store/4k6ag9n2r2239r9cjjkyq76pa9n0bw94-go-1.9.drv - 1builder for `/gnu/store/4k6ag9n2r2239r9cjjkyq76pa9n0bw94-go-1.9.drv' failedwith exit code 1guix build: error: build failed: build of`/gnu/store/4k6ag9n2r2239r9cjjkyq76pa9n0bw94-go-1.9.drv' failedcatonano@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 dowant to have an alternate go implementation for architectures whicharen't supported by go-1.4.
-- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנרGPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl7cmHcACgkQQarn3Mo9g1GIyA//SGSFlg5TKj8Y6xQNkOgFrQrv/BVtX99z4wjzdVEMLlvGq5ZSX+IKDi46+08IkrMICncXZ6lxrl0AcK9K8HSfrNkir21UXycu0Rraw3cYIDLCEcitnDQdbRkYDsAoWRAesyrgCOFCLVG7gkxGBZkK8Zd0uaohsUVdqkIVy8T8GT/+dGuvdfylzIb1Lr58w1LRu+59Y1U1P9w77nEXkJv7JXXhYRaXcK9gpaRu2VjfQQkA1QiZnavkV4kBp7Zk9KmG3c+WoX7376q27v0YhmKbTQemWcYzI0Rnt1meEXolAdrUKEWDilBVt395cDKNdUzkNn++LJVLnp/mDaa7IpPLoA+7wRV7Jy1GeUoaRS+/VCR5202/f3x/vHlN8AYTi+tef5qfw5MdYGPQ4hwoJwtavYQYlIECbSloftdWEW5eHroKh03BE9C8n1A51iLwb+iZguY1YkP4jgUJPm5gPJbhlCHgi0TSKU2p3Vl5Fk+yoX7RrvU5TtdnLt6pn0meOITB2Mv03oqHiDLjCEuDIsh+Md8qiha3CXaAhBOMolC5Bfe72wcp1KeJ+68d/CakNHuWvTIA1QV8BjuJWap8vnpeSX5v/wsSdn0jVowto9d2wVvhgDRCgqDIKVHectwQ8himhT6AEfcTmtuVmPKgDtFHwkqT8RQAbpF+ePYGhELl92s==EkNC-----END PGP SIGNATURE-----

?