bazelbuild / bazel

a fast, scalable, multi-language and extensible build system
https://bazel.build
Apache License 2.0
23.17k stars 4.05k forks source link

Produce release for Z(s390x) #10408

Open james-crowley opened 4 years ago

james-crowley commented 4 years ago

Description of the problem / feature request:

It would be nice to see releases for other architectures then, x86_64. My ask is to have releases be produced for s390x.

Feature requests: what underlying problem are you trying to solve with this feature?

Building Bazel from source is another layer of complexity since there is no Bazel release for s390x. I have to install build tools and compile it each time I want to use it.

Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

N/A

What operating system are you running Bazel on?

Ubuntu 18.04 - s390x

What's the output of bazel info release?

N/A

If bazel info release returns "development version" or "(@non-git)", tell us how you built Bazel.

N/A

What's the output of git remote get-url origin ; git rev-parse master ; git rev-parse HEAD ?

N/A

Have you found anything relevant by searching the web?

I search the closed and open issues in this repo and it seems like people are already building it for s390x and thus there is an interest in putting out releases.

Any other information, logs, or outputs that you want to share?

If the Bazel team does not have access to s390x, we can change that! Happy to talk more about getting people access once I know if anyone is onboard with supporting this.

james-crowley commented 4 years ago

@iirina Any progress or status on this? The AdoptOpenJDK organization is looking to utilize bazel in their tests.

davidhay1969 commented 4 years ago

+1 on that @james-crowley - we're also keen to see Bazel on s390x 👍

james-crowley commented 4 years ago

@iirina and @davidhay1969 Last time I touched Bazel, I was able to get it to build for s390x using my Dockerfile, https://github.com/james-crowley/bazel/blob/s390x_patch/Dockerfile.

The question now is if the Bazel community is open to produce s390x builds. IBM has free machines for communities like this.

Another option, is going the route of ppc64le and becoming a community supported architecture. https://docs.bazel.build/versions/master/install.html#community-supported-architectures

davidhay1969 commented 4 years ago

Thanks @james-crowley that worked for me

+1 on your points re the community; definitely agree 👍

sgowroji commented 1 year ago

Hi there! We're doing a clean up of old issues and will be closing this one. Please reopen if you’d like to discuss anything further. We’ll respond as soon as we have the bandwidth/resources to do so.

cfilleke commented 1 year ago

/reopen

smitterl commented 11 months ago

I'm running into issues here, too. KubeVirt uses Bazel as their build system upstream. There have been efforts to build (and run) kubevirt on s390x. https://github.com/kubevirt/kubevirt/pull/10490

When I try bootstrapping https://bazel.build/install/compile-source#bootstrap-bazel I get the error that there's no platform declaration: No platform declared for host OS linux on arch s390x However, that should be available IIUC:

I am using openjdk 11 on s390x RHEL. Bazel release https://github.com/bazelbuild/bazel/releases/tag/8.0.0-pre.20231030.2

I found that the 8.0.0 pre seemingly pull rules_python 0.24 which doesn't contain the 's390-unknown-linux-gnu' platfrom. Intents to update my dist package to latest 0.26.0 rules_python have been without success so far.

smitterl commented 11 months ago

I'm running into issues here, too. KubeVirt uses Bazel as their build system upstream. There have been efforts to build (and run) kubevirt on s390x. kubevirt/kubevirt#10490

When I try bootstrapping https://bazel.build/install/compile-source#bootstrap-bazel I get the error that there's no platform declaration: No platform declared for host OS linux on arch s390x However, that should be available IIUC:

I am using openjdk 11 on s390x RHEL. Bazel release https://github.com/bazelbuild/bazel/releases/tag/8.0.0-pre.20231030.2

I found that the 8.0.0 pre seemingly pull rules_python 0.24 which doesn't contain the 's390-unknown-linux-gnu' platfrom. Intents to update my dist package to latest 0.26.0 rules_python have been without success so far.

After setting 0.26.0 for the dependency in MODULE.bazel the bootstrap compile works. Sorry for the confusion.

smitterl commented 11 months ago

@iirina and @davidhay1969 Last time I touched Bazel, I was able to get it to build for s390x using my Dockerfile, https://github.com/james-crowley/bazel/blob/s390x_patch/Dockerfile.

The question now is if the Bazel community is open to produce s390x builds. IBM has free machines for communities like this.

Another option, is going the route of ppc64le and becoming a community supported architecture. https://docs.bazel.build/versions/master/install.html#community-supported-architectures

What would be needed by the community? I'm new to this. OTOH, could the existing process spin up a s390x VM using qemu with tcg or cross-compile?

cfilleke commented 11 months ago

Yes, having s390 builds of bazel and other benefits of it being a community supported architecture would very much help a variety of CNCF Red Hat and IBM open source projects, such as Envoy/OpenSSL and Kubernetes Kubevirt. RN we roll our own ad hoc s390x bazel builds, but this process would be much easier to automate the use of s390x bazel in those projects as a part of CICD pipelines if there were a regularly built and supported bazel build available. Thanks. Also, hi @james-crowley

ansonos commented 1 month ago

Any update on this? The buildtools are shipping s390x versions since the last version bazelbuild/buildtools#1265