libbluray's Java code depends on sun.* classes and thus should require specific JDKs that include these classes, not just any 1.6 JDK.
Created attachment 354094 [details, diff] Patch to depend on JDKs that provide sun.* classes.
is there any way to patch it not to use those sun classes ? or to have a virtual for sun-compatible jdk's ?
java-virtuals/jdk-with-com-sun maybe?
This should really be reported upstream.
Created attachment 382490 [details, diff] Updated patch for 1.6.1 This is an updated version of the patch for 1.6.1. It also needed java-pkg_dojar changing to java-pkg_newjar as the Java eclass QA system prevents a versioned jar file being installed. I tried using java-virtuals/jdk-with-com-sun instead but I couldn't see a way of not only depending on the required JDK, but actually making sure it is used to build (what pkg_setup does in the patch). The build still fails if I depend on java-virtuals/jdk-with-com-sun because the default build VM is not one. I had a quick look at upstream and their mailing list just seems to be commit messages. Worth a try though.
Hi, I'm trying to have the vlc bluray playback using the git version of vlc and I'm hitting the following not found errors, is it related? I have dev-java/icedtea-bin-6.1.13.5 installed. VLC media player 3.0.0-git Vetinari (revision 2.2.0-git-2030-ge5de71d) [0000000000a4c118] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface. [0000000000b32e08] qt4 interface error: Unable to load extensions module bdj.c:355: BD-J check: Failed to load libbluray.jar [00007fb388000f58] libbluray demux: First play: 1, Top menu: 1 HDMV Titles: 18, BD-J Titles: 2, Other: 2 bdj_util.c:86: Failed to locate class org/videolan/Logger Exception in thread "main" java.lang.NoClassDefFoundError: org/videolan/Logger Caused by: java.lang.ClassNotFoundException: org.videolan.Logger at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bdj_util.c:86: Failed to locate class org/videolan/Libbluray Exception in thread "main" java.lang.NoClassDefFoundError: org/videolan/Libbluray Caused by: java.lang.ClassNotFoundException: org.videolan.Libbluray at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bdj_util.c:86: Failed to locate class java/awt/BDFontMetrics Exception in thread "main" java.lang.NoClassDefFoundError: java/awt/BDFontMetrics Caused by: java.lang.ClassNotFoundException: java.awt.BDFontMetrics at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bdj_util.c:86: Failed to locate class java/awt/BDGraphicsBase Exception in thread "main" java.lang.NoClassDefFoundError: java/awt/BDGraphicsBase Caused by: java.lang.ClassNotFoundException: java.awt.BDGraphicsBase at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bdj.c:308: Couldn't register native methods. Exception in thread "main" java.lang.NoClassDefFoundError: org/videolan/Libbluray Caused by: java.lang.ClassNotFoundException: org.videolan.Libbluray at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bdj_util.c:56: Failed to locate class org/videolan/Libbluray Exception in thread "main" java.lang.NoClassDefFoundError: org/videolan/Libbluray Caused by: java.lang.ClassNotFoundException: org.videolan.Libbluray at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bdj_util.c:56: Failed to locate class org/videolan/Libbluray bdj_util.c:118: Failed to locate class java/awt/BDGraphicsBase Exception in thread "main" java.lang.NoClassDefFoundError: java/awt/BDGraphicsBase Caused by: java.lang.ClassNotFoundException: java.awt.BDGraphicsBase at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bdj_util.c:118: Failed to locate class java/awt/BDFontMetrics Exception in thread "main" java.lang.NoClassDefFoundError: java/awt/BDFontMetrics Caused by: java.lang.ClassNotFoundException: java.awt.BDFontMetrics at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bdj_util.c:118: Failed to locate class org/videolan/Libbluray Exception in thread "main" java.lang.NoClassDefFoundError: org/videolan/Libbluray Caused by: java.lang.ClassNotFoundException: org.videolan.Libbluray at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bdj_util.c:118: Failed to locate class org/videolan/Logger Exception in thread "main" java.lang.NoClassDefFoundError: org/videolan/Logger Caused by: java.lang.ClassNotFoundException: org.videolan.Logger at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) bluray.c:2870: Can't play BD-J title 1 bluray.c:1911: bd_read(): no valid title selected!
*** Bug 538548 has been marked as a duplicate of this bug. ***
No, that's a different issue altogether. This failure is when building with a non-Sun-JDK. Yours is a run-time failure in a development version of VLC. [javac] ---------- [javac] 1. ERROR in /mnt/builder/portage.build/portage/media-libs/libbluray-0.7.0/work/libbluray-0.7.0/src/libbluray/bdj/j\ ava/java/awt/BDGraphicsBase.java (at line 35) [javac] import sun.awt.ConstrainableGraphics; [javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [javac] The import sun.awt.ConstrainableGraphics cannot be resolved [javac] ---------- [javac] 2. ERROR in /mnt/builder/portage.build/portage/media-libs/libbluray-0.7.0/work/libbluray-0.7.0/src/libbluray/bdj/j\ ava/java/awt/BDGraphicsBase.java (at line 40) [javac] abstract class BDGraphicsBase extends Graphics2D implements ConstrainableGraphics { [javac] ^^^^^^^^^^^^^^^^^^^^^ [javac] ConstrainableGraphics cannot be resolved to a type and so on.
We don't really support JDKs without com.sun any more as it's really not an issue these days.