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

Bootstrap Classloader #35

Merged
merged 4 commits into from
May 31, 2021
Merged

Bootstrap Classloader #35

merged 4 commits into from
May 31, 2021

Conversation

RobertObkircher
Copy link
Owner

@RobertObkircher RobertObkircher commented May 31, 2021

#7

@RobertObkircher RobertObkircher requested a review from mischnic May 31, 2021 13:05
src/zip.hpp Show resolved Hide resolved
@RobertObkircher
Copy link
Owner Author

I frogot that the tests are failing because github actions doesn't have the exploded classes. Should we extract the lib/modules of the system jdk before running them? On my laptop it takes exactly 1 second to do so.

-- Found Java: /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/java (found suitable version "11.0.11", minimum required is "1.8") 

@mischnic
Copy link
Collaborator

mischnic commented May 31, 2021

CMake detects Java 16 on my machine, does that work as well?

@mischnic
Copy link
Collaborator

If not: java_home -V lists version 8, 11 and 16. Is there an easy way to choose the right one even if it's not the system default?

@RobertObkircher
Copy link
Owner Author

Cmake detects Java 16 for me, does that work as well?

And I have java 15... We just have to pick one version.

8: no modules
11: lts: many functions removed but modules added
16: jvm.h was split up and some functions were added

Another problem is that we can't modify the system jdk so it will be difficult to use our custom libjvm.so. But I'm sure we can solve that if we ever get there.

@RobertObkircher
Copy link
Owner Author

find_package(Java 11.0.11 EXACT REQUIRED)

For some reason this fails if 11 is installed but not the system default.

@mischnic
Copy link
Collaborator

mischnic commented May 31, 2021

Could we do something like JAVA_HOME = $(/usr/libexec/java_home -v 11) to override the system default? Does that work on your machine?

@RobertObkircher
Copy link
Owner Author

Could we do something like JAVA_HOME = $(/usr/libexec/java_home -v 11) to override the system default? Does that work on your machine?

I think find java already looks at java home so you could set that before calling cmake. I don't have java_home.

I think we also need JAVA_HOME to get the location of lib/modules.

@mischnic mischnic merged commit 0b4b333 into main May 31, 2021
@mischnic mischnic deleted the classloader branch May 31, 2021 19:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants