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

Add support for Linux on riscv64 #669

Merged
merged 2 commits into from
Sep 24, 2024

Conversation

yuzibo
Copy link
Contributor

@yuzibo yuzibo commented Sep 10, 2024

No description provided.

@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 10, 2024

It can be built on riscv64 hardware with mvn clean generate-resources -Dnative=gtk.linux.riscv64

@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 10, 2024

...
[ERROR] Failed to execute goal org.eclipse.tycho.extras:tycho-p2-extras-plugin:4.0.8:compare-version-with-baselines (compare-attached-artifacts-with-release) on project org.eclipse.osgi: Only qualifier changed for (org.eclipse.osgi/3.21.0.v20240910-0834). Expected to have bigger x.y.z than what is available in baseline (3.21.0.v20240717-2103) -> [Help 1]

But If I use mvn clean verify -DskipTests=true to build it, we will get the error above. It seems it was the same with CI failure.

Copy link

github-actions bot commented Sep 10, 2024

Test Results

  660 files  ±0    660 suites  ±0   1h 14m 55s ⏱️ - 3m 10s
2 201 tests ±0  2 154 ✅ ±0   47 💤 ±0  0 ❌ ±0 
6 747 runs  ±0  6 604 ✅ ±0  143 💤 ±0  0 ❌ ±0 

Results for commit c3a024e. ± Comparison against base commit 30d6266.

♻️ This comment has been updated with latest results.

@yuzibo yuzibo force-pushed the add-support-for-riscv64 branch 3 times, most recently from e430715 to 09f8d33 Compare September 11, 2024 09:27
@HannesWell
Copy link
Member

I'll try to have a detailed look at this tomorrow, but from a very quick view I see that the adjustment of the Jenkins file is missing.
It looks like Temurin provides riscv64 JDKs already but I have to check JustJ:
https://adoptium.net/de/temurin/releases/?arch=riscv64&os=linux

In general the same like in #559 should be done.

@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 12, 2024

Thanks.

I made one change and let us to see.

FYI, ci.eclipse.org/releng has riscv64 hardware
available also.

@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 12, 2024

hmm, it was still failed.

But what confuses me is that my local error was different with our online build failure.

@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 12, 2024

It looks like Temurin provides riscv64 JDKs already but I have to check JustJ: https://adoptium.net/de/temurin/releases/?arch=riscv64&os=linux

Finally I understood what mean of JustJ here. But unfortunately, there is no support for riscv64 now. But want to build JustJ on riscv64, do we first have one Eclipse SDK on riscv64 available?

It sees we can use Temurin openJdk first to build native binaries for riscv64.

@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 13, 2024

I have added support riscv64 in Jenkinsfile. but it does not affect the riscv64 from build log:

[Pipeline] { (Build launcher and executable native binaries)
[Pipeline] parallel
[Pipeline] { (Branch: Matrix - PLATFORM = 'cocoa.macosx.aarch64')
[Pipeline] { (Branch: Matrix - PLATFORM = 'cocoa.macosx.x86_64')
[Pipeline] { (Branch: Matrix - PLATFORM = 'gtk.linux.aarch64')
[Pipeline] { (Branch: Matrix - PLATFORM = 'gtk.linux.ppc64le')
[Pipeline] { (Branch: Matrix - PLATFORM = 'gtk.linux.x86_64')
[Pipeline] { (Branch: Matrix - PLATFORM = 'win32.win32.aarch64')
[Pipeline] { (Branch: Matrix - PLATFORM = 'win32.win32.x86_64')

I suspect we must added Branch: Matrix - PLATFORM = 'gtk.linux.riscv64' at Jenkins backends.

@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 14, 2024

I suspect we must added Branch: Matrix - PLATFORM = 'gtk.linux.riscv64' at Jenkins backends.

I am stuck in here, could you help me to have a look at this? TIA

Copy link
Member

@HannesWell HannesWell left a comment

Choose a reason for hiding this comment

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

I suspect we must added Branch: Matrix - PLATFORM = 'gtk.linux.riscv64' at Jenkins backends.

I am stuck in here, could you help me to have a look at this? TIA

That's right. Since you are not a committer on this Jenkins does not consider your changes to the pipeline file.
But I just applied them in a Replay:
https://ci.eclipse.org/releng/job/equinox/job/PR-669/8/

The build now starts but fails with:

 + sh build.sh -ws gtk -os linux -arch riscv64 install
 build.sh: 161: make: not found

I think we have to ask the infrastructure team to install make on the riscv machine.

Please move all the version bumps into a separate commit with message:

Version bumps for 4.34 stream

This way they can be identified in the history more easily.

Jenkinsfile Outdated Show resolved Hide resolved
@yuzibo yuzibo force-pushed the add-support-for-riscv64 branch 3 times, most recently from 9583ff6 to be2c91e Compare September 15, 2024 14:43
@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 15, 2024

Rebased on be2c91e

Copy link
Member

@HannesWell HannesWell left a comment

Choose a reason for hiding this comment

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

Rebased on be2c91e

Great. Thanks!

Btw. have you see my comment from the other thread?
#669 (comment)
This should solve the resolution error.

With that and once all the necessary tools in the agent are installed, I think this should be ready.

And regarding your second PR #672:
Thanks for that, but it would be fine if you add that separate commit as second commit in this PR. A separate PR is not necessary for that.

Jenkinsfile Outdated Show resolved Hide resolved
@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 16, 2024

Btw. have you see my comment from the other thread? #669 (comment) This should solve the resolution error.

Thanks. I read it again carefully and now I understand what it is.:)

And regarding your second PR #672: Thanks for that, but it would be fine if you add that separate commit as second commit in this PR. A separate PR is not necessary for that.

Okay, got it. Iet me try it again.

@yuzibo yuzibo force-pushed the add-support-for-riscv64 branch 2 times, most recently from a84cdd4 to 92b46d0 Compare September 16, 2024 01:21
@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 16, 2024

And regarding your second PR #672: Thanks for that, but it would be fine if you add that separate commit as second commit in this PR. A separate PR is not necessary for that.

I have added this in the commit and the good news is that now the PR can be passed on CI check.:)

@yuzibo yuzibo force-pushed the add-support-for-riscv64 branch 2 times, most recently from 27259ec to e28b415 Compare September 23, 2024 11:14
@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 23, 2024

Rebase on 773fe39. Not sure tests/build ci failure was related with this.

@HannesWell
Copy link
Member

HannesWell commented Sep 24, 2024

Rebase on 773fe39. Not sure tests/build ci failure was related with this.

Thanks. I'll try to have a look at this this evening and all your other PRs, it's just very busy at the moment. Sorry for the delay.
But the errors are probably unrelated.

Copy link

@BeckerWdf BeckerWdf left a comment

Choose a reason for hiding this comment

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

maybe "arm" should be in uppercase

@yuzibo yuzibo force-pushed the add-support-for-riscv64 branch 2 times, most recently from b52e023 to db66734 Compare September 24, 2024 08:07
@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 24, 2024

Thanks. I'll try to have a look at this this evening and all your other PRs, it's just very busy at the moment. Sorry for the delay. But the errors are probably unrelated.

Thank you. No rush.:)

@HannesWell HannesWell changed the title add support for riscv64 Add support for Linux on riscv64 Sep 24, 2024
Copy link
Member

@HannesWell HannesWell left a comment

Choose a reason for hiding this comment

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

Just pushed a few adjustments to your branch, e.g. some version bumps in features are not necessary (anymore) and the version of all Linux fragments should be aligned and a few white-space fixes.

But with this change is now ready for submission.
Thanks for this.

@HannesWell HannesWell merged commit bd084d4 into eclipse-equinox:master Sep 24, 2024
8 of 10 checks passed
@yuzibo
Copy link
Contributor Author

yuzibo commented Sep 25, 2024

Thank you! \o/.

@yuzibo yuzibo deleted the add-support-for-riscv64 branch September 25, 2024 00:29
HannesWell added a commit to HannesWell/equinox that referenced this pull request Sep 29, 2024
This allows to pick-up the new root-files for linux.riscv64 contributed
via
eclipse-equinox#669
HannesWell added a commit to HannesWell/equinox that referenced this pull request Sep 29, 2024
This qualifier-bump ensures that the new root-files for linux.riscv64
are picked up in the I-build with the linux.riscv64 environment enabled.
Support for linux.riscv64 was contributed via
eclipse-equinox#669
HannesWell added a commit that referenced this pull request Sep 29, 2024
This qualifier-bump ensures that the new root-files for linux.riscv64
are picked up in the I-build with the linux.riscv64 environment enabled.
Support for linux.riscv64 was contributed via
#669
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