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

Port to arm64 #75

Closed
vielmetti opened this issue May 16, 2018 · 4 comments
Closed

Port to arm64 #75

vielmetti opened this issue May 16, 2018 · 4 comments
Labels
C++ C++ language support Enhancement Extend or improve functionality

Comments

@vielmetti
Copy link

In envoyproxy/envoy#1861 (comment) , @moderation is attempting a port of Envoy to arm64. After getting pretty far they got stuck in a dependency on lyft/protoc-gen-validate.

I suspect that one of the issues is a hardcoded dependency to arm64 binaries in the build_container script at

https://github.com/lyft/protoc-gen-validate/blob/master/scripts/build_container.sh#L18
https://github.com/lyft/protoc-gen-validate/blob/master/scripts/build_container.sh#L38

However there may be more issues lurking; using this issue to track them.

@rodaine
Copy link
Member

rodaine commented May 16, 2018

Hm, that script is only run in the context of building the Docker image for the purposes of testing. However, for Envoy and in general, PGV uses Bazel. I'd look at those build rules and ensure that they are compatible with arm64. Will be glad to help if you can pinpoint the issues!

@moderation
Copy link

As @rodaine points out the container build script isn't the source of the problem. I expect the issue is somewhere in https://github.com/lyft/protoc-gen-validate/tree/master/bazel. There are bunch of work arounds for since fixed issues and some of the dependencies are quite old. Still digging.

@akonradi
Copy link
Contributor

akonradi commented May 17, 2018

@moderation and I chatted offline and it looks like the current blocker is a bug in rules_go repository's support for arm64 go toolchain versions. The issue is that if repository_ctx.os.name is 'linux', there's no way to set the host as linux_arm64 - it defaults to linux_amd64. See
https://github.com/bazelbuild/rules_go/blob/3b103d6954cd4508e1f63c8e2ea57bda18d98bcf/go/private/sdk.bzl#L31-L37

@vielmetti
Copy link
Author

The upstream issue on bazel has been resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++ C++ language support Enhancement Extend or improve functionality
Projects
None yet
Development

No branches or pull requests

5 participants