-
-
Notifications
You must be signed in to change notification settings - Fork 16k
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 RISC-V #13670
Add support for RISC-V #13670
Conversation
Motivation: RISC-V is gaining traction across the industry and many projects rely on Netty. To run these projects, Netty needs to support RISC-V. Modifications: Mostly build scripts and CI files. CentOS doesn't have packages with recent-enough versions for autoconf, automake, libtool, and the GNU compiler toolchain. Result: linux-riscv64 packages are created in a similar manner to linux-aarch64 packages.
I've verified that it builds with:
|
It's very difficult to have a recent enough stack on CentOS necessary to compile for RISC-V. Some missing dependencies are recent complete GNU toolchain, python 3.7, cmake 3.20, and more. Ubuntu 20.04 on the other hand doesn't have such issues.
@luhenry there are still some test failures |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The netty tests did not pass, You might wanna correct the code in order to pass the native loading test. (There are also 2 skipped tests aswell)
@Kichura @normanmaurer looking into the test failure today or tomorrow. In terms of CI, are you ok with the run taking nearly 2 hours? The newer version of jdk 17.0.9 should be a lot faster given the backport of RISC-V (removing the need for Zero VM), but that’s not done yet in the Ubuntu repositories. |
Shouldn't be a problem, also for jdk - usually |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NativeLoadingEpoll test has failed.
Consider this extra comment a bit off-topic but is a native ppc64le PR planned aswell or is it out of scope? |
It's currently out of scope. I can explore it, see how much work it would be, and report back, but I want to prioritize riscv64 in this PR :) |
The os.detected.arch is rsicv64 on linux-riscv64.
@Kichura @normanmaurer it's now passing tests on CI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since tests have passed, approving this.
@chrisvest any concerns ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this will start making riscv64 release artifacts, we should also include those in all/pom.xml
and bom/pom.xml
.
@chrisvest that's fixed now. Sorry I only did it today, I thought I did it 2 weeks ago and was OOO last week. |
No worries. Approved. |
Thank you! |
Motivation:
RISC-V is gaining traction across the industry and many projects rely on Netty. To run these projects, Netty needs to support RISC-V.
Modifications:
Mostly build scripts and CI files. CentOS doesn't have packages with recent-enough versions for autoconf, automake, libtool, and the GNU compiler toolchain.
Result:
Fixes #13667
linux-riscv64 packages are created in a similar manner to linux-aarch64 packages.