Native support for Eclipse SDKs on riscv64
I am trying to build Eclipse SDKs on riscv64. It's obvious that this is the correct repo so I opened the issue to keep track of various tasks done and/or underway like WoA did.
- [x] add support for riscv64 to
eclipse.platform.swtsubmodule- [x] https://github.com/eclipse-platform/eclipse.platform.swt/pull/1444 for build.sh
- [x] https://github.com/eclipse-platform/eclipse.platform.swt/pull/1445 add linux riscv64 build
- [x] https://github.com/eclipse-platform/eclipse.platform.swt/pull/1469 Fix riscv64 MANIFEST.MF header field(fix pr 1445)
- [x] https://github.com/eclipse-platform/eclipse.platform.swt/pull/1474 Build gtk.linux.riscv64 native SWT fragment
- [x] https://github.com/eclipse-platform/eclipse.platform.swt/pull/1490 bump riscv64 version [closed, combined into 1474]
- [x] https://github.com/eclipse-platform/eclipse.platform.swt/pull/1485 Add support riscv64 with p2.inf
- [ ] Once JustJ supports riscv64, to reset Jenkins to use it as native jdk
- [x] Add support for riscv64 on
equinoxsubmodule- [x] https://github.com/eclipse-equinox/equinox/pull/669
- [x] https://github.com/eclipse-equinox/equinox/pull/672 Version bumps for 4.34 stream [closed; combined into the PR ]
- [x] https://github.com/eclipse-equinox/equinox/pull/680
- [x] ToDo: once
gtk.linux.riscv64environment is enabled in general, revert the temporary addition of the linux.riscv64 environment in o.e.equinox.executable.feature/pom.xml:- [x] https://github.com/eclipse-equinox/equinox/pull/681
- [ ] Once JustJ supports riscv64, to reset Jenkinsfile to use it as native jdk.
- [x] add support for riscv64 on
eclipse.platform.uisubmodule- [x] https://github.com/eclipse-platform/eclipse.platform.ui/pull/2318
- [x] eclipse.platform.releng.aggregator
- [x] https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/pull/2348
- [x] https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/pull/2394 Add linux.riscv64 environment to eclipse-platform-parent and publish win32.aarch64 artifacts
- [x] https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/pull/2397 Add linxu/gtk/riscv64 the SDK4Mvn.aggr
- [x] add support for riscv64 on
eclipse.platformsubmodule- [x] https://github.com/eclipse-platform/eclipse.platform/pull/1575
- [x] Add support for riscv64 on JustJ
- [x] https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/5031 Add riscv64 ci node for JustJ
- [x] Update for Java 23 and add scaffolding for riscv64
- [x] Fully enable riscv64 support
- [x] Add riscv64 support for eclipse infra
- [x] https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/4978 Add riscv64 ci node for eclipse
- [x] external porting work
- [x] https://github.com/java-native-access/jna/issues/1622
- [ ] Package support for riscv64
- [ ] https://github.com/eclipse-packaging/packages/issues/213
Next I will always update this.
On Debian Sid riscv64, Milk-V Pioneer.
That is amazing!
Since the latest I-build the Eclipse SDK is also build for linux.riscv64
- https://download.eclipse.org/eclipse/downloads/drops4/I20240929-0810/
Implementation-wise almost everything is done now, the last pending two PRs should succeed now too.
The only thing that are missing to complete this entirely are some form of tests, at least smoke tests, ideally full I-build tests (for Windows on ARM they are still pending since some preparatory work to simplify their setup is not yet completed).
Furthermore we could/should provide the Eclipse-Packages for linux.riscv64 too, similar to WoA:
- https://github.com/eclipse-packaging/packages/issues/162
But unlike WoA since shouldn't be too difficult since Temurin already provides JDKs for linux.riscv64 and JustJ is now able to provide JDK bundles since there is also a Eclipse-SDK for it.
Test with the newest official Integration Build, on Debian Sid riscv64, Milk-V Pioneer, with x11 forward:
https://download.eclipse.org/eclipse/downloads/drops4/I20240929-0810/
Choose Eclipse SDK -> Linux (64 bit version for RISC-V) to download.
Since the latest I-build the Eclipse SDK is also build for linux.riscv64
- https://download.eclipse.org/eclipse/downloads/drops4/I20240929-0810/
I would like to express my heartfelt gratitude to everyone for your efforts in achieving Eclipse support for riscv64 here. Your hard work and help are truly appreciated!
The only thing that are missing to complete this entirely are some form of tests, at least smoke tests, ideally full I-build tests (for Windows on ARM they are still pending since some preparatory work to simplify their setup is not yet completed).
Furthermore we could/should provide the Eclipse-Packages for linux.riscv64 too, similar to WoA:
Okay, no problem, I will add these into the todo list also.
But unlike WoA since shouldn't be too difficult since Temurin already provides JDKs for linux.riscv64 and JustJ is now able to provide JDK bundles since there is also a Eclipse-SDK for it.
Yeah, I noticed this also. I will ping JustJ first.
Thanks for all again!
Since the latest I-build the Eclipse SDK is also build for linux.riscv64
- https://download.eclipse.org/eclipse/downloads/drops4/I20240929-0810/
I would like to express my heartfelt gratitude to everyone for your efforts in achieving Eclipse support for riscv64 here. Your hard work and help are truly appreciated!
Thank you for these nice words, it's great to get them. And thanks for all your contributions. I think adding support for more arches challenges the complexity of the overall Eclipse SDK project and helps to reduce it.
But unlike WoA since shouldn't be too difficult since Temurin already provides JDKs for linux.riscv64 and JustJ is now able to provide JDK bundles since there is also a Eclipse-SDK for it.
Yeah, I noticed this also. I will ping JustJ first.
@merks is already aware of the need for a change in JustJ and has already prepared it:
- https://github.com/eclipse-justj/justj/commit/07754f5857b045445a40f26baf37f0e570e27a91
- https://github.com/eclipse-justj/justj/commit/6571be4b505fc0a0e1b2d8fa40cc87bba979b48c
and is currently working on providing the new artifacts.
@yuzibo
There is an installer with an embedded JustJ JRE available for rsicv64:
https://download.eclipse.org/oomph/products/latest/eclipse-inst-jre-linux-riscv64.tar.gz
The installer filters products that don't support that architecture (and I've been fine-tuning that support today), so it only shows applicable products, i.e., only the Eclipse SDK can currently be installed:
It would be much appreciated if you could test whether the riscv64 installer works given I have no way of testing it myself.
@yuzibo
There is an installer with an embedded JustJ JRE available for rsicv64:
https://download.eclipse.org/oomph/products/latest/eclipse-inst-jre-linux-riscv64.tar.gz
\o/.
It would be much appreciated if you could test whether the riscv64 installer works given I have no way of testing it myself.
Okay, No problem, I will test it on my local riscv64 hardware ASAP(maybe in next days because I am on my holiday).
Thanks for your work again!
@yuzibo
There is an installer with an embedded JustJ JRE available for rsicv64:
https://download.eclipse.org/oomph/products/latest/eclipse-inst-jre-linux-riscv64.tar.gz
if i didn't do anything wrong, I think the eclipse installer is working:
Thanks for your work again!
So the left work for riscv64 on Eclipse is to use justj to replace temurin I think.
But I am not sure how long this will happened to update the link of downloading of justj
As mentioned in https://github.com/eclipse-packaging/packages/issues/213#issuecomment-2393884004 mostly everything is in place to produce riscv64 packages for M2.
It will appears here:
https://www.eclipse.org/downloads/packages/release/2024-12/
The riscv-build2 node on Jenkins currently fails to launch, blocking building of SWT native fragments: https://ci.eclipse.org/releng/computer/riscv%2Dbuild2/
FYI, I just started a build just minutes ago for Java 24 beta:
https://ci.eclipse.org/justj/job/build-jres/
I think this node is shared:
https://ci.eclipse.org/justj/computer/riscv%2Dbuild2/
For what it's worth, the riscv node did start and complete:
The 2024-12 M2 EPP build that contains riscv64 Linux packages is now available for testing. If you have access to riscv64 Linux, please let me know if these new packages work. See announcement in https://www.eclipse.org/lists/epp-dev/msg06939.html
Should we close this one?
Should we close this one?
Yes, 2024-12 has full riscv in EPP too. Same as your comment on WoA (https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/issues/577#issuecomment-2519982072), new dedicated issues should be created. I have created #2632 for the unchecked item in the list.
Thanks! I think we can close it also as we have done everything almost already and I will track the https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/issues/2632
Thank you @yuzibo for all your work to make this possible.
As the very final step I have now created a change to add a smoke-test for linux.riscv64:
- https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/pull/2641