Skip to content

Go: support for aarch64#16083

Merged
adamjstewart merged 1 commit intospack:developfrom
open-estuary:go_for_aarch64
Apr 23, 2020
Merged

Go: support for aarch64#16083
adamjstewart merged 1 commit intospack:developfrom
open-estuary:go_for_aarch64

Conversation

@darmac
Copy link
Copy Markdown
Contributor

@darmac darmac commented Apr 16, 2020

No description provided.

@adamjstewart
Copy link
Copy Markdown
Member

@hartzell did you have plans for aarch64 support?

@hartzell
Copy link
Copy Markdown
Contributor

I'm kind of stuck right now, took a new job and it's getting in the way of me making contributions.

Starting simply, this is fine.

I think an easy but really useful improvement would be to control the choice of dependency provider by a variant, so that other platforms can use it easily.

I think, but haven't been able to dig in, that that in the long term there should be some go-bootstrapper abstraction that can be satisfied by various providers (go-binaries, gcc, externals, etc...).

@darmac
Copy link
Copy Markdown
Contributor Author

darmac commented Apr 20, 2020

Is there any other suggestion to refine this patch?
@adamjstewart @hartzell

@darmac
Copy link
Copy Markdown
Contributor Author

darmac commented Apr 23, 2020

Hi @adamjstewart @hartzell
We have some go package is blocked by this PR,
Is there any chance that we can use this patch to support some aarch64 go package?
Or we still need more time to think how to refine it?

Copy link
Copy Markdown
Member

@adamjstewart adamjstewart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with the changes in this PR if @hartzell is

Copy link
Copy Markdown
Contributor

@hartzell hartzell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Sorry for mistaking the whitespace changes for new versions.

@adamjstewart adamjstewart merged commit 6cad7a5 into spack:develop Apr 23, 2020
@darmac darmac deleted the go_for_aarch64 branch June 15, 2020 11:20
@sethrj
Copy link
Copy Markdown
Contributor

sethrj commented Feb 8, 2022

@darmac Do you have any documentation on how this worked for you? My ~1-year-old machine (darwin-bigsur-m1) uses the wrong condition in go because platform.machine is arm64 not aarch64; and working around that, go fails because GOROOT_BOOTSTRAP isn't set when gcc's go is a dependency.

@ecarre
Copy link
Copy Markdown

ecarre commented Apr 27, 2022

@sethrj I run spack (current develop branch) on a Taishan server (Kunpeng 920 CPU) give me :

==> go-bootstrap: Executing phase: 'install'
==> [2022-04-27-10:46:11.052140] '/usr/bin/bash' 'make.bash'
# Building C bootstrap tool.
cmd/dist
go tool dist: unknown architecture: aarch64

The fix from @darmac was working well for me, when I try to put it back I succeed to build go 1.18

==> Installing go-1.18-qphmk365khvn2kxxj45nqxc5h3y3ab2g
==> No binary for go-1.18-qphmk365khvn2kxxj45nqxc5h3y3ab2g found: installing from source
==> Fetching https://mirror.spack.io/_source-cache/archive/38/38f423db4cc834883f2b52344282fa7a39fbb93650dc62a11fdf0be6409bdad6.tar.gz
==> No patches needed for go
==> go: Executing phase: 'install'
==> go: Successfully installed go-1.18-qphmk365khvn2kxxj45nqxc5h3y3ab2g
  Fetch: 1.08s.  Build: 6m 43.92s.  Total: 6m 44.99s.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants