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 riscv64 build support #1431

Closed
yuzibo opened this issue Jun 16, 2024 · 4 comments
Closed

Add riscv64 build support #1431

yuzibo opened this issue Jun 16, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@yuzibo
Copy link

yuzibo commented Jun 16, 2024

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 yuzibo added the bug Something isn't working label Jun 16, 2024
@HannesWell
Copy link
Member

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 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).

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

@yuzibo
Copy link
Author

yuzibo commented Jun 19, 2024

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
Copy link
Author

yuzibo commented Jul 18, 2024

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
Copy link
Author

yuzibo commented Sep 4, 2024

@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!

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

2 participants