Bug#912631: liblwjgl-java-jni: Missing symbols in liblwjgl.so, stretch-sid, 386, amd64, mips

Le Gall Guillaume bill.legall at orange.fr
Mon Dec 31 05:13:32 GMT 2018


Hello,


and thank you very much for your answer.


First, about OpenJDK 11, and "debian/patches/javah.patch". You are 
absolutely right to point that out. Actually, I had missed that the 
"javah" tool was removed since OpenJDK 10. Sorry for that.

I was able to reproduce the same error as the one you showed with 
OpenJDK 11.
If we take care of a few more C headers include and constant export, it 
works. At least for me.
Maybe just a thing to note: the path to "libjawt.so" has changed between 
8 and 11, and we need to remove the "${os.arch}" part when giving that 
path to GCC, in "platform_build/linux_ant/build.xml".

Please find attached a new version of the patch I proposed, including 
those modifications specific to OpenJDK 11.
Should you want to try it, please apply after everything else, including 
"javah.patch". (but not the previous version I sent).

Please let me know if this works for you, or maybe what you think about it.



Then, about "OpenGL" and "OpenGL ES": from what I understand they are 
two versions of the same thing.

 From Wikipedia: "OpenGL for Embedded Systems (OpenGL ES) is a subset of 
the OpenGL computer graphics rendering application programming interface 
(API)" <https://en.wikipedia.org/wiki/OpenGL_ES>.

About the technical details: in the "build.xml" file, in the root 
folder, there is a "compile_native" and "compile_native_es". When we 
look at "debian/rules", the "override_dh_auto_build" calls 
"compile_native", but never "compile_native_es". And it seems to me that 
"compile_native_es" is the only target to call Ant with 
"platform_build/linux_ant/build_es.xml" (which is the only build file to 
include C files in the sub folders named "opengles"). Also, when looking 
at "platform_build/linux_ant/build.xml", the targets that were defined 
by upstream (or at least in 
<https://github.com/LWJGL/lwjgl/blob/master/platform_build/linux_ant/build.xml>) 
do not include the C files in the "opengles" folders. And finally, if I 
remember correctly, at first I tried to include C files from every sub 
folders, but ended up with conflicting redefinitions of the same C 
functions.

So, I am not sure whether we need "OpenGL ES" support or not. And if we 
do, I don't know how it should be packaged. But personally I would 
simply leave it out, at least for now.



Regards,
Guillaume

-------------- next part --------------
A non-text attachment was scrubbed...
Name: add-missing-symbols-in-native-lib-v2.patch
Type: text/x-patch
Size: 2830 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-maintainers/attachments/20181231/6a620e12/attachment.bin>


More information about the pkg-java-maintainers mailing list