Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 478010 - media-libs/libbluray - Java support depends on classes not provided by the Java 1.6 specification
Summary: media-libs/libbluray - Java support depends on classes not provided by the Ja...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2013-07-24 13:14 UTC by Andrew John Hughes
Modified: 2019-04-14 17:57 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to depend on JDKs that provide sun.* classes. (libbluray-sun.patch,1.03 KB, patch)
2013-07-24 13:15 UTC, Andrew John Hughes
Details | Diff
Updated patch for 1.6.1 (libbluray-0.6.1.patch,1.47 KB, patch)
2014-08-07 19:27 UTC, Andrew John Hughes
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew John Hughes 2013-07-24 13:14:53 UTC
libbluray's Java code depends on sun.* classes and thus should require specific JDKs that include these classes, not just any 1.6 JDK.
Comment 1 Andrew John Hughes 2013-07-24 13:15:18 UTC
Created attachment 354094 [details, diff]
Patch to depend on JDKs that provide sun.* classes.
Comment 2 Alexis Ballier gentoo-dev 2013-07-24 15:15:46 UTC
is there any way to patch it not to use those sun classes ? or to have a virtual for sun-compatible jdk's ?
Comment 3 Alexis Ballier gentoo-dev 2013-07-24 15:21:58 UTC
java-virtuals/jdk-with-com-sun maybe?
Comment 4 Sean McGovern 2013-07-24 15:30:59 UTC
This should really be reported upstream.
Comment 5 Andrew John Hughes 2014-08-07 19:27:30 UTC
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.
Comment 6 Mehmet Giritli 2015-01-13 19:17:31 UTC
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!
Comment 7 Paweł Stankowski 2015-02-06 00:52:53 UTC
*** Bug 538548 has been marked as a duplicate of this bug. ***
Comment 8 Andrew John Hughes 2015-02-06 16:30:11 UTC
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.
Comment 9 James Le Cuirot gentoo-dev 2019-04-14 17:57:37 UTC
We don't really support JDKs without com.sun any more as it's really not an issue these days.