Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

go_1_11: Allow only one of GOARM={5,6,7} #46031

Merged
merged 1 commit into from Sep 4, 2018
Merged

Conversation

srhb
Copy link
Contributor

@srhb srhb commented Sep 4, 2018

Motivation for this change

According to https://github.com/golang/go/wiki/GoArm GOARM is allowed to be just one of 5,6 or 7.
It is recommended to aways set it in order to support cross compilation.

Fixes go and packages broken by the upgrade to go 1.11 on aarch

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

@srhb
Copy link
Contributor Author

srhb commented Sep 4, 2018

@GrahamcOfBorg build go_1_11

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: go_1_11

Partial log (click to expand)

ok      cmd/vendor/golang.org/x/arch/arm64/arm64asm     0.161s
ok      cmd/vendor/golang.org/x/arch/ppc64/ppc64asm     0.007s
ok      cmd/vendor/golang.org/x/arch/x86/x86asm 0.064s
ok      cmd/vendor/golang.org/x/crypto/ssh/terminal     0.017s
ok      cmd/vendor/golang.org/x/sys/unix        0.377s
ok      cmd/vet 3.627s
ok      cmd/vet/internal/cfg    0.006s
2018/09/04 12:06:48 Failed: exit status 1
builder for '/nix/store/3mw5gby3yh54dfb6agx3d22m1f5zlyn9-go-1.11.drv' failed with exit code 1
error: build of '/nix/store/3mw5gby3yh54dfb6agx3d22m1f5zlyn9-go-1.11.drv' failed

@srhb srhb changed the title go_1_11: Remove GOARM WIP: go_1_11: Remove GOARM Sep 4, 2018
@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: go_1_11

Partial log (click to expand)

wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
/nix/store/z9mzx3049zakmc172ir75h3r1bwp6lf4-go-1.11

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: go_1_11

Partial log (click to expand)

these derivations will be built:
  /nix/store/c580lws68rjz9pfqc7lxzx4g3calw9sa-go-1.11.drv
waiting for locks or build slots...
/nix/store/z9mzx3049zakmc172ir75h3r1bwp6lf4-go-1.11

@srhb srhb force-pushed the fix-go-on-aarch64 branch 3 times, most recently from 5acd170 to ad770fa Compare September 4, 2018 09:43
@srhb
Copy link
Contributor Author

srhb commented Sep 4, 2018

@GrahamcOfBorg build go_1_11

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: go_1_11

Partial log (click to expand)

Cannot nix-instantiate `go_1_11' because:
error: while evaluating the attribute 'GOARM' of the derivation 'go-1.11' at /var/lib/gc-of-borg/nix-test-rs-19/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-19/pkgs/stdenv/generic/make-derivation.nix:179:11:
while evaluating the attribute 'lib.intersectList' at /var/lib/gc-of-borg/nix-test-rs-19/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-19/pkgs/stdenv/generic/default.nix:139:14:
attribute 'intersectList' missing, at /var/lib/gc-of-borg/nix-test-rs-19/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-19/pkgs/development/compilers/go/1.11.nix:142:21

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: go_1_11

Partial log (click to expand)

cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
/nix/store/p3ab4gfq0ml7v6mb8gw3hjnpjbnxgbqq-go-1.11

@srhb
Copy link
Contributor Author

srhb commented Sep 4, 2018

@GrahamcOfBorg build go_1_11

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: go_1_11

Partial log (click to expand)

/nix/store/jv4v9wq201dpiydisbvwdvam8c40sjb3-go-1.11

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: go_1_11

Partial log (click to expand)

cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
/nix/store/p3ab4gfq0ml7v6mb8gw3hjnpjbnxgbqq-go-1.11

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: go_1_11

Partial log (click to expand)


ALL TESTS PASSED
---
Installed Go for darwin/amd64 in /nix/store/jj7c5kwmlkrhfvkfckbgh7j3aidrdy5z-go-1.11/share/go
Installed commands in /nix/store/jj7c5kwmlkrhfvkfckbgh7j3aidrdy5z-go-1.11/share/go/bin
post-installation fixup
strip is /nix/store/df6k4mgdjxciy0f637lryp7c9ln7n1m3-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/jj7c5kwmlkrhfvkfckbgh7j3aidrdy5z-go-1.11/bin
patching script interpreter paths in /nix/store/jj7c5kwmlkrhfvkfckbgh7j3aidrdy5z-go-1.11
/nix/store/jj7c5kwmlkrhfvkfckbgh7j3aidrdy5z-go-1.11

@srhb srhb changed the title WIP: go_1_11: Remove GOARM go_1_11: Allow only one of GOARM={5,6,7} Sep 4, 2018
@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: go_1_11

Partial log (click to expand)

wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
cannot find section .dynamic
cannot find section .dynamic
cannot find section .dynamic
/nix/store/li64kcqs4j0smv9y6a08zhax28gvizd3-go-1.11

@srhb
Copy link
Contributor Author

srhb commented Sep 4, 2018

/cc ZHF #45962

This should fix the massive go breakage on aarch.

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: go_1_11

Partial log (click to expand)

these paths will be fetched (188.49 MiB download, 907.74 MiB unpacked):
  /nix/store/hl6lszwxw0irdcmlmgqrrg89q1zir8a7-go-1.11
copying path '/nix/store/hl6lszwxw0irdcmlmgqrrg89q1zir8a7-go-1.11' from 'https://cache.nixos.org'...
/nix/store/hl6lszwxw0irdcmlmgqrrg89q1zir8a7-go-1.11

@srhb srhb merged commit e153a98 into NixOS:master Sep 4, 2018
srhb added a commit that referenced this pull request Sep 4, 2018
(cherry picked from commit e153a98)
Backport of #46031 to release-18.09
@srhb srhb deleted the fix-go-on-aarch64 branch October 7, 2018 08:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants