eclipse.platform icon indicating copy to clipboard operation
eclipse.platform copied to clipboard

Add riscv64 build support

Open yuzibo opened this issue 1 year ago • 3 comments

Steps to reproduce

I am trying to build eclipse on riscv64, but unfortunately it failed. I have posted this on eclipse-dev mail list.

Here is some relevant log output

The log see here

Tested under this environment:

  • Debian riscv64 sid

From other eclipse developers' help, I think maybe it is easy to add riscv64 build support, just some build stack get updated in time, but maybe we have setup riscv ci env from #565419. Do we have a plan to support it?

Sorry if I bring the noise.

Community

  • [yes ] I understand reporting an issue to this OSS project does not mandate anyone to fix it. Other contributors may consider the issue, or not, at their own convenience. The most efficient way to get it fixed is that I fix it myself and contribute it back as a good quality patch to the project.

yuzibo avatar Jun 16 '24 16:06 yuzibo

I am trying to build eclipse on riscv64, but unfortunately it failed. I have posted this on eclipse-dev mail list.

Since the log mentions some unresolved requirements for packages from UI plugins I assume the initial problem is that there is no SWT fragment for your platform (i.e. OS, WS and arch combination) available. So you probably have to create a org.eclipse.swt.gtk.linux.riscv64 fragment (not sure what the 'official' OSGi name is for that architecture) and build the SWT native binaries for it. How to build them is explained in the ReadMe of https://github.com/eclipse-platform/eclipse.platform.swt/blob/7ac43c0d40016f04974ae6ef971f4e5f39bd3c3c/bundles/org.eclipse.swt/Readme.md#building-and-testing-locally and the co-located OS specific ReadMe files.

If you want to build a product you probably have to do something similar for the Equinox launcher binaries.

Issue https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/issues/577 should give you a good impression about what has to be done (it should now be simpler than when that issue started).

From other eclipse developers' help, I think maybe it is easy to add riscv64 build support, just some build stack get updated in time, but maybe we have setup riscv ci env from #565419. Do we have a plan to support it?

As far as I can tell there is no plan to support it yet, but if it is important for a wider audience it can be considered. The 'main' difficulty to support it 'officially' by Eclipse is to get a dedicated machine to build the native binaries and run the tests into the Eclipse Jenkins agent pool. Unfortunately, for reasons of security, sustainability and manageability, it is not possible to just provide such a machine. Someone has to sponsor it and the Eclipse-Foundation IT team then purchases an agent and adds it to the pool: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1110

HannesWell avatar Jun 17 '24 21:06 HannesWell

Hi,

Thank you very much for your help here.

Since the log mentions some unresolved requirements for packages from UI plugins I assume the initial problem is that there is no SWT fragment for your platform (i.e. OS, WS and arch combination) available. So you probably have to create a org.eclipse.swt.gtk.linux.riscv64 fragment (not sure what the 'official' OSGi name is for that architecture) and build the SWT native binaries for it. How to build them is explained in the ReadMe of https://github.com/eclipse-platform/eclipse.platform.swt/blob/7ac43c0d40016f04974ae6ef971f4e5f39bd3c3c/bundles/org.eclipse.swt/Readme.md#building-and-testing-locally and the co-located OS specific ReadMe files.

If you want to build a product you probably have to do something similar for the Equinox launcher binaries.

Issue eclipse-platform/eclipse.platform.releng.aggregator#577 should give you a good impression about what has to be done (it should now be simpler than when that issue started).

Okay, let me try it with your guide. For me I am not familiar with mvn build system, so maybe it cost some time on how to it works.

From other eclipse developers' help, I think maybe it is easy to add riscv64 build support, just some build stack get updated in time, but maybe we have setup riscv ci env from #565419. Do we have a plan to support it?

As far as I can tell there is no plan to support it yet, but if it is important for a wider audience it can be considered. The 'main' difficulty to support it 'officially' by Eclipse is to get a dedicated machine to build the native binaries and run the tests into the Eclipse Jenkins agent pool. Unfortunately, for reasons of security, sustainability and manageability, it is not possible to just provide such a machine. Someone has to sponsor it and the Eclipse-Foundation IT team then purchases an agent and adds it to the pool: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1110

Okay, no problem. I think the issue can be viewed as headup for support riscv64 and if someone has interesting that would be great. So let us wait some time and see what happened. For riscv64 hardware, I will look for any chances to reach out this(sponsor it).

Thanks again.

yuzibo avatar Jun 19 '24 16:06 yuzibo

I was trying to build org.eclipse.swt.gtk.linux.riscv64 fragment and SWT native binaries for riscv64. But unfortunately I was stuck in here. But I am hesitate to report here because I think the issue belong to eclipse.platform.swt repo. Do I need to open a separately issue at there? and we will need a place to summarize all issue/PR to support riscv64 also maybe.

yuzibo avatar Jul 18 '24 10:07 yuzibo

@HannesWell Many thanks for the valuable guidance. Now I open one issue under eclipse.platform.releng.aggregator repo to track all submodules or coordinating various tasks.

So I close the issue first, thanks again!

yuzibo avatar Sep 04 '24 10:09 yuzibo