Login  Register

Strategy given various problems: Ubuntu, OpenJDK 11, Apple/OpenGL, etc.

Posted by LordSmoke on Jan 26, 2019; 3:09pm
URL: https://forum.jogamp.org/Strategy-given-various-problems-Ubuntu-OpenJDK-11-Apple-OpenGL-etc-tp4039429.html

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