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 |
Kichura
left a comment
There was a problem hiding this comment.
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 |
|
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. |
Kichura
left a comment
There was a problem hiding this comment.
Since tests have passed, approving this.
|
@chrisvest any concerns ? |
chrisvest
left a comment
There was a problem hiding this comment.
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.