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

IBM Semeru fails to install ARM64 build: Unsupported architecture for IBM Semeru: arm64, the following are supported: x64, x86, ppc64le, ppc64, s390x, aarch64 #559

Open
2 of 5 tasks
vlsi opened this issue Nov 27, 2023 · 5 comments
Labels
bug Something isn't working

Comments

@vlsi
Copy link

vlsi commented Nov 27, 2023

Description:

The action fails to install Semeru arm64.

I guess the installer should use .distributionArchitecture() instead of .architecture: https://github.com/actions/setup-java/blob/9eda6b51cc4f6ee99be3dd5537b85e389e47bda9/src/distributions/semeru/installer.ts#L36C47-L36C59

For example, Microsoft installer uses .distributionArchitecture():

const arch = this.distributionArchitecture();

Run actions/setup-java@v3
  with:
    java-version: 17
  17
  
    distribution: semeru
    java-package: jdk
    check-latest: false
    server-id: github
    server-username: GITHUB_ACTOR
    server-password: GITHUB_TOKEN
    overwrite-settings: true
    job-status: success
    token: ***
  env:
    ACTIONS_STEP_DEBUG: true
    ACTIONS_RUNNER_DEBUG: true
    TZ: UTC
Installed distributions
  Trying to resolve the latest version from remote
  Error: Unsupported architecture for IBM Semeru: arm64, the following are supported: x64, x86, ppc64le, ppc64, s[3](https://github.com/pgjdbc/pgjdbc/actions/runs/7002337194/job/19045932738#step:4:3)90x, aarch6[4](https://github.com/pgjdbc/pgjdbc/actions/runs/7002337194/job/19045932738#step:4:4)

Task version:

Download action repository 'actions/setup-java@v3' (SHA:0ab4596768b603586c0de567f2430c30f5b0d2b0)

Platform:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

Expected behavior:

JDK should install.

Actual behavior:

Resolution fails with Unsupported architecture for IBM Semeru: arm64, the following are supported: x64, x86, ppc64le, ppc64, s390x, aarch64

@IvanZosimov
Copy link
Contributor

Hi, @vlsi 👋 Thanks for the issue, we will take a look!

@IvanZosimov IvanZosimov self-assigned this Nov 27, 2023
@IvanZosimov
Copy link
Contributor

@vlsi, actually, Semeru supports only these types of architectures: x64, x86, ppc64le, ppc64, s390x, aarch64. You can check it on their official web-site: https://developer.ibm.com/languages/java/semeru-runtimes/downloads/. I think that in your case, you may use aarch64 which is basically the same as arm64. I'm closing this issue now, if you have any additional questions feel free to reach out.

@vlsi
Copy link
Author

vlsi commented Nov 27, 2023

@IvanZosimov , could you please double-check?

The issue is that setup-java action attetempts to use arm64 by default.
In other words: the documentation for actions/setup-java reads that the default architecture is derived from the runner machine.

In practice, actions/setup-java fails if running at arm64 machine and installing semeru.

The root cause is that nodejs returns arm64 while the action misses to treat it as aarch64.

@vlsi
Copy link
Author

vlsi commented Nov 27, 2023

@IvanZosimov , check this:

const arch = this.distributionArchitecture();
if (arch !== 'x64' && arch !== 'aarch64') {

microsoft/installer.ts uses this.distributionArchitecture() which makes arm64 -> aarch64 conversion:
case 'arm64':
return 'aarch64';

The conversion is missing in semeru/installer.ts, so it causes semeru installation failure.

@IvanZosimov IvanZosimov reopened this Nov 28, 2023
@IvanZosimov
Copy link
Contributor

Thanks for clarification, @vlsi I'll check that and get back to you with updates.

@aparnajyothi-y aparnajyothi-y removed their assignment Apr 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants