Hi. I am not looking for specific solutions. Instead, I would be interested in just knowing if my strategy for going forward is appropriate.
Last summer I finished up my own API to JOGL that provides the plotting functions I need for my work while isolating JOGL-specific things in a few classes. After being consumed by other responsibilities, I am now starting to get back to work on my own applications. A couple weeks ago, a student came to me unable to run one of my programs. It turns out she was using a new Ubuntu installation with the default OpenJDK. Another student had the same problem and said the solution was to install Oracle JDK and use "sudo update-alternatives --config java" to use the new install. Thus, I have spent my free time this past week experimenting with my Java/JOGL apps on Ubuntu (18.10 in VirtualBox on an OS X 10.14.2) and reading the posts here to better understand what is going on. ==== PROBLEMS: 1) Recent OpenJDK versions use a different version numbering system. My software tested the minor version for minimal acceptance, but the OpenJDK 11 seems to use the major/minor version number differently. 2) Running my apps on OpenJDK 11 produces "WARNING: An illegal reflective access operation has occurred" and a back-to-command-line crash. 3) After backing off OpenJDK 11 and using either OpenJDK 8 or Oracle JDK 8, my original J3D code runs fine, but my own JOGL code produces: "0:11(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES" 4) I finally learned of Apple's deprecation of OpenGL. ==== STRATEGY: 1) Fix my own code once other OpenJDK 11 issues are resolved and I can sort out version number scheme. 2) Wait for new JOGL release since this "reflective" problem seems to have been addressed in fixes that are in the works. But, I might need to look closer as this is just a warning and I get a crash. 3) Do nothing until 2) is addressed. Changes to accommodate OpenJDK 11 should include backward compatibility with earlier versions, right? Also, I won't be releasing anything with my own JOGL code for a while. So, I will worry about this in pre-release testing. 4) Continue with my own development and ignore Apple/OpenGL to see how things develop in JOGL/OpenGL/Vulkan. So, my overall strategy is to just tell linux/OpenJDK users to not use jdk/jre 11 and continue with my own application development until a new release of JOGL, which should, at least, separate and identify JOGL/JDK11 issues from my own coding problems. Does this seem reasonable? Any other suggestions as to how to proceed? Best, LS |
Administrator
|
Hard for me to say what a good strategy for others might be, but my own current plan is:
- Make JOGL warning-free on Java 11 so I can use the latest versions of everything in my own projects (done) - Keep using JOGL while I wait and see if Apple will really delete OpenGL - If Apple deletes OpenGL, switch to Vulkan and support Mac via MoltenVK Anyone who wants to is free to use my unofficial Java 11-compatible build at https://github.com/WadeWalker/com.jogamp.jogl, or to build their own from my branches (https://github.com/WadeWalker/gluegen|jogl/tree/java-11-fixes). I can't offer much support, but I can at least point you in the right direction if you want to go this route :) |
Thanks, Wade.
I think it is very useful to us part-time/amateurs to see how the pros are dealing with various issues. I did briefly try your Java 11 jars, but had some compile problems and didn't think I understood the situation well enough to worry about them at the time. I will give them another try in the near future. I suspect I have some non-11 issues of my own to address, but need to deal with one issue at a time to reveal what I need to worry about. Again, thanks. -ds |
Free forum by Nabble | Edit this page |