adoptium / infrastructure

This repo contains all information about machine maintenance.
Apache License 2.0
84 stars 100 forks source link

Access request for @advancedwebdeveloper (Ivan) to RISC-V system #1782

Open sxa opened 3 years ago

sxa commented 3 years ago

Access level:

System for which access is needed: Any of the RISC-V unleashed ones

Please explain why you need this access including whether it is a temporary or permanent request: Time TBC but @advancedwebdeveloper is an enthusiast looking to debug problems he's having with running java code on a real RISC-V board instead of an emulated one so I'm happy for him to have it until we start using the system more heavily :-)

advancedwebdeveloper commented 3 years ago

Hello. Indeed there was an interest to work on porting build automation tools:

Also there is a demand for data ingestion, data flow solutions to be ported - so Apache NiFi and Apache MiNiFi (Java port could be of help). As for MiNiFi - board's peripherals could be involved in testing, for specific end-user scenarios (data ingestion). @bunkertor could have some ideas/propositions, from Cloudera's side.

As for Apache NiFi - I am super sure that there would be some building issues/bugs/blockers. Would be glad to exercise in resolving those - especially due to a vast number of JNI bridging, done for non-Java scripting automation.

Please let know which OS would be suggested. RISC-V would bring significant impact on performance, depending on involved ISA extensions/capabilities. User space applications, including JVM, would be affected by interrupt scenarios.

sxa commented 3 years ago

Access now granted to one of our systems :-)

advancedwebdeveloper commented 3 years ago

I started to compile Clang 11 RC2 ("12") - but lost the connectivity with the board, threw SSH. Perhaps a temporary issue between Tier 2 providers.

I had some problems with OpenJDK builds. I would require a boot JDK - but I can't install OpenJDK 16, since I have no rights. I was not able to properly extract it from .deb packages. There is no standalone pre-built version - so I might try to build various JDK versions, for RISC-V. Please provide some JDK - there is none available, currently. I could be autonomous, afterwards.

advancedwebdeveloper commented 3 years ago

I was able to build Clang. llc doesn't identify the CPU - so I would have to resolve this later. I am missing glibc-devel , libgcc , libc6-dev , libc6-dev-riscv64-cross . Could you install those?

advancedwebdeveloper commented 3 years ago

Ping. Such package might be helpful: libcap-dev libcap-ng-dev libcap-ng-utils libcap-ng0 libcap2 libcap2-bin libcap2-bin python3-cap-ng

sxa commented 3 years ago

Done :-) We've had a few panics on this week so haven't been able to look at this til now (also I'd rather avoid deviating from the base configuration as much as is practical).

Some in your earlier request aren't available in the repositories though:

Reading state information... Done
E: Unable to locate package glibc-devel
E: Unable to locate package libgcc
#
advancedwebdeveloper commented 3 years ago

Done :-) We've had a few panics on this week so haven't been able to look at this til now

Thanks a lot.

(also I'd rather avoid deviating from the base configuration as much as is practical). Well, userspace builds require exact version match - and I had some problems with obtaining exact version of Debian source packages. But I don't think that there might be too many critical libraries, like this.

Some in your earlier request aren't available in the repositories though:

Reading state information... Done
E: Unable to locate package glibc-devel
E: Unable to locate package libgcc
#

Yes, that was my mistake: I have mentioned that myself, after requesting non-provided packages. Looks like the same binaries and static, shared libraries are packaged differently (on this port of Debian).

Now, regarding the practical side of the question. GCC works fine (was able to invoke CMake - it helped to configure and generate Makefile for Apache MiNiFi). Clang works, but requires to pass such flags (to both "clang" and "clang++" executables ):

-L/usr/lib/riscv64-linux-gnu -B/usr/lib/riscv64-linux-gnu

advancedwebdeveloper commented 3 years ago

Just a tiny tip - but the last lacking puzzle was to specify an additional path, for searching headers (require for validating the presence of pthread):

-I/usr/include/riscv64-linux-gnu

advancedwebdeveloper commented 3 years ago

I am missing such packages: autotools-dev libtool

sxa commented 3 years ago

autotools-dev and libtool now installed

advancedwebdeveloper commented 3 years ago

Please let know whether the board would be available again. Can't SSH into it, for about a week.

I was heading to build Hadoop (as also as many other projects), thanks to the patched https://github.com/trustin/os-maven-plugin (it has RISC-V arch. among supported ones)

advancedwebdeveloper commented 3 years ago

https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1904#issue-803347181

CC @andrew-m-leonard

sxa commented 2 years ago

Access granted today to my Unleashed board too :-)