Bug 16280 - Update Java3D to 1.6.0
Summary: Update Java3D to 1.6.0
Status: RESOLVED OLD
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Java Stack Maintainers
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-03 10:34 CEST by Julien Gouesse
Modified: 2022-01-27 15:42 CET (History)
5 users (show)

See Also:
Source RPM: java3d-1.5.2-12.mga6
CVE:
Status comment:


Attachments

Description Julien Gouesse 2015-07-03 10:34:22 CEST
Mageia still provides an obsolete and unmaintained version of Java3D (1.5.2) whereas several pre-versions of Java3D 1.6.0 have been available for several years:
http://jogamp.org/wiki/index.php/Java3D_Overview
http://jogamp.org/wiki/index.php/Downloading_and_installing_Java3D
http://jogamp.org/wiki/index.php/Java3D_FAQ
http://jogamp.org/deployment/java3d/
https://github.com/hharrison/java3d-core
https://github.com/hharrison/java3d-utils
https://github.com/hharrison/vecmath

Java3D 1.6.0 is easier to package as it depends on JogAmp (especially JOGL and GlueGen), there is no longer libj3dcore-ogl.so.

Reproducible: 

Steps to Reproduce:
Julien Gouesse 2015-07-03 10:34:33 CEST

CC: (none) => gouessej

Comment 1 Samuel Verschelde 2015-07-03 10:43:41 CEST
Thanks for the bug report. Unfortunately there is no dedicated maintainer for this package. 

Are the pre-versions stable enough? We don't like to include beta releases unless we're sure that there will be a stable release before the next Mageia is released.

Adding packagers who touched the package in the past in CC. Does one of you want to become the maintainer?

CC: (none) => geiger.david68210, joequant
Component: New RPM package request => RPM Packages
Summary: Java3D 1.6.0 => Update Java3D to 1.6.0

Comment 2 Julien Gouesse 2015-07-03 11:22:36 CEST
The pre-versions are more stable than Java3D 1.5.2, Harvey Harrison fixed some very old bugs (reproducible with Java3D 1.3), we removed the native renderers that had been less actively maintained than the JOGL renderer. I can talk to Harvey, I'd like him to confirm that we will release the last stable version of Java3D this year. In other words, Java3D 1.6.0 is already more stable than Java3D 1.5.2. The public API is frozen and won't evolve. Java3D 1.6.0 is only focused on stability, it doesn't contain any new feature.

N.B: Java3D should require Vecmath which is the case in Debian but not in Mageia.
Comment 3 David GEIGER 2015-07-03 11:25:52 CEST
Hello,

I already worked on it but this 1.6.0 version is incompatible with our sweethome3d package that it needs libj3dcore-ogl.so to properly play 3D.

So for now please don't update this package until sweethome3d become compatible, thanks!
Comment 4 David GEIGER 2015-07-03 11:31:22 CEST
Also no other distribution don't uses java3d-1.6.0 for now.
Comment 5 Julien Gouesse 2015-07-03 12:59:01 CEST
(In reply to David GEIGER from comment #3)
> Hello,
> 
> I already worked on it but this 1.6.0 version is incompatible with our
> sweethome3d package that it needs libj3dcore-ogl.so to properly play 3D.
> 
> So for now please don't update this package until sweethome3d become
> compatible, thanks!

The author of Sweethome 3D already uses Java3D 1.6.0 under OS X and he refuses to switch to Java3D 1.6.0 under GNU Linux because Parallels doesn't work with it:
http://forum.jogamp.org/Access-violation-Java3d-1-6-0-pre-9-Windows-7-x86-64-tp4031818p4032146.html

Sweethome 3D works correctly with Java3D 1.6.0 without Parallels Desktop. There is already a bug report filled against this software but Parallels hasn't fixed it as far as I know:
https://forum.parallels.com/threads/cant-run-java-3d-1-6.328492/#post-770324
Comment 6 Julien Gouesse 2015-07-03 13:38:40 CEST
(In reply to David GEIGER from comment #4)
> Also no other distribution don't uses java3d-1.6.0 for now.

It's not up to me, I won't make the decision to switch to Java3D 1.6.0 but in my humble opinion, it's not fair to stick to Java3D 1.5.2 only because you wrongly assume that Sweethome 3D requires libj3dcore-ogl.so to properly play 3D (I used Sweethome 3D with JOGL 1.1.1 during Siggraph 2012) because such a decision affects all Java3D users, not only Sweethome 3D's users.

In the meantime, we'll advise our end users under Mageia Linux not to install the completely obsolete Java3D RPM of this distro. I remind you that the first pre-version of Java3D 1.6.0 was released February 10, 2012. It's time to update Java3D.
Comment 7 Rémi Verschelde 2015-07-03 16:05:35 CEST
I'd say it's time to release a new stable version on your side too... You can't really complain that distros don't package unstable versions of libraries, especially the java stack is difficult enough to get in a proper shape without having to play with development snapshots.

If as upstream you would advise users not to install the latest stable version, but use a pre-release version instead, it means that you *need* to release.
Just name it 1.5.9 if it's not ".0" enough :)
Comment 8 Julien Gouesse 2015-07-04 01:15:23 CEST
(In reply to Rémi Verschelde from comment #7)
> I'd say it's time to release a new stable version on your side too... You
> can't really complain that distros don't package unstable versions of
> libraries, especially the java stack is difficult enough to get in a proper
> shape without having to play with development snapshots.
> 
At first, I created an Ant based tool (JNDT) to make RPM and DEB packages from Java programs without relying on native build tools, it helped me a lot, it's not very well documented but it works. It's based on JDeb and Redline RPM.

Secondly, there is already a spec file for Java3D 1.5.2, you don't have to start from scratch and as Java3D 1.6.0 doesn't rely on native renderers, it doesn't drive its packaging harder than the previous versions.


> If as upstream you would advise users not to install the latest stable
> version, but use a pre-release version instead, it means that you *need* to
> release.
> Just name it 1.5.9 if it's not ".0" enough :)

It's Harvey's choice and I approve it. The very few changes that drive Java3D 1.6.0 not fully backward compatible with Java3D 1.5.2 justify the bump to 1.6.0. Moreover, I'm not sure that Java3D 1.6.0 can work with Java 1.5 and the Java3D versions were aligned with the minimal required version of Java. As it's highly probable that Java3D 1.6.0 requires Java 1.6, it's logical not to name it 1.5.9.

I will speak about it to Harvey, maintaining this library is a collective effort, releasing it requires a collective decision.

I don't complain about distros packaging unstable versions of libraries, I complain about one end user who'd like to set our agenda on the use of a single application based on this library. Sweethome 3D is a great software by the way but it's up to Parallels to fix its bugs in Parallels Desktop, it's a commercial and proprietary product, I don't work for free for a profitable company and their problems shouldn't guide the choices of packaging or not a version of a library in Mageia, should it? Parallels Desktop is known to have some troubles with some OpenGL applications and libraries, it's not entirely JOGL specific.
Comment 9 Rémi Verschelde 2015-07-04 18:05:49 CEST
(In reply to Julien Gouesse from comment #8)
> As it's highly probable that Java3D 1.6.0 requires Java 1.6, it's
> logical not to name it 1.5.9.
> 
> I will speak about it to Harvey, maintaining this library is a collective
> effort, releasing it requires a collective decision.

I don't mean to force your hand. Packaging policies are there so that there can be exceptions too, so if all downstream packages relying on Java3D would work fine or better with a pre-release version of Java3D 1.6.0, and if you can assure us that it's stable enough for distro packaging, we could probably package it.

If you want to give a signal from upstream to downstream packagers, you could release a beta or RC version of 1.6.0.

> I don't complain about distros packaging unstable versions of libraries, I
> complain about one end user who'd like to set our agenda on the use of a
> single application based on this library.

s/end user/packager and maintainer of sweethome3d/

> Sweethome 3D is a great software
> by the way but it's up to Parallels to fix its bugs in Parallels Desktop,
> it's a commercial and proprietary product, I don't work for free for a
> profitable company and their problems shouldn't guide the choices of
> packaging or not a version of a library in Mageia, should it?

I don't really care about Parallels Desktop, and I'm sure David doesn't either. But you are not being fair here. Nobody is trying to set Mageia's agenda, nor make you work for free for a profitable company. David just said that Sweethome3D _seemed_ not compatible with Java3D. If you can provide a patch that proves the contrary, I'm positive that David will be happy to use it and to work on upgrading the Java3D package.
Comment 10 Rémi Verschelde 2015-07-04 18:09:35 CEST
And honestly, I just looked at the java3d website and it's pretty difficult to find out about the status of the 1.6.0 branch, 1.5.2 is still advertised everywhere as the latest stable release, and if you want something "newer", you get pre-versions of 1.6.0 from... 2010.
Comment 11 Julien Gouesse 2015-07-06 11:02:02 CEST
(In reply to Rémi Verschelde from comment #9)
> If you want to give a signal from upstream to downstream packagers, you
> could release a beta or RC version of 1.6.0.
> 
It's ok for me. We only release pre-release versions for now, the latest pre-release is the twelfth one:
http://jogamp.org/deployment/java3d/1.6.0-pre12/

(In reply to Rémi Verschelde from comment #10)
> And honestly, I just looked at the java3d website and it's pretty difficult
> to find out about the status of the 1.6.0 branch, 1.5.2 is still advertised
> everywhere as the latest stable release, and if you want something "newer",
> you get pre-versions of 1.6.0 from... 2010.

Oracle / Sun Microsystems abandoned Java3D, its last version was Java3D 1.5.1, the next version (1.5.2) was actually provided by the community (not by Oracle). This is what I explain here:
http://jogamp.org/wiki/index.php/Java3D_Overview

JogAmp and Oracle are two independent organizations, we cannot force Oracle to advertise our "continuation" of Java3D. It's the same for JOGL 2 which is already packaged for Mageia despite the fact that Oracle advertises JOGL 1.1.1a as the latest stable release. Therefore, if you keep a consistent policy, you cannot use this argument to reject the update of Java3D but ignore it when JOGL has to be updated.
Comment 12 Rémi Verschelde 2015-07-06 11:11:40 CEST
(In reply to Julien Gouesse from comment #11)
> Therefore, if you keep a consistent
> policy, you cannot use this argument to reject the update of Java3D but
> ignore it when JOGL has to be updated.

Could you stop trying to make me sound like I'm rejecting the update of Java3D? I'm just discussing our policy with you, asking you not to diminish the work of other long time packagers, and try to get you to see the big picture.

Mageia is not just about Java3D, and most of us probably don't know about this package at all.

I'm just pointing out that the information about the current community continuation of Java3D is scarce and hard to come by, so thanks for the links.
As said previously, if you can help David to make sweethome3d work fine with java3d 1.6.0-pre12, I don't have anything against updating java3d. This package itself has no formal maintainer, but I'm pretty sure David might want to do the packaging work.
Comment 13 Julien Gouesse 2015-07-06 12:54:47 CEST
(In reply to Rémi Verschelde from comment #12)
> (In reply to Julien Gouesse from comment #11)
> > Therefore, if you keep a consistent
> > policy, you cannot use this argument to reject the update of Java3D but
> > ignore it when JOGL has to be updated.
> 
> Could you stop trying to make me sound like I'm rejecting the update of
> Java3D? I'm just discussing our policy with you, asking you not to diminish
> the work of other long time packagers, and try to get you to see the big
> picture.
> 
> Mageia is not just about Java3D, and most of us probably don't know about
> this package at all.
> 
Sorry. Of course, Mageia is not just about Java3D which is by the way not the most popular scenegraph API.

> I'm just pointing out that the information about the current community
> continuation of Java3D is scarce and hard to come by, so thanks for the
> links.
Resurrecting an Oracle-controlled API and fighting against persistent FUD campaigns are very tiring. Numerous well known websites including StackOverflow refuse to update their information about Java3D and there are still a lot of abandoned websites with obsolete information about it.

> As said previously, if you can help David to make sweethome3d work fine with
> java3d 1.6.0-pre12, I don't have anything against updating java3d. This
> package itself has no formal maintainer, but I'm pretty sure David might
> want to do the packaging work.
David should remove libj3dcore-ogl.so and replace old Java3D JARs by those provided by JogAmp for both Java3D itself and its dependencies, it's explained in my very long up-to-date tutorial:
http://gouessej.wordpress.com/2012/08/01/java-3d-est-de-retour-java-3d-is-back/

If it isn't enough to make it work, I advise him to post the stack traces and/or the error logs so that I can solve his problem once for all. I don't think that Sweethome 3D tries to load the native libraries in its own code.
Comment 14 Marja Van Waes 2016-10-20 10:49:17 CEST
(In reply to Julien Gouesse from comment #13)
> (In reply to Rémi Verschelde from comment #12)

> > As said previously, if you can help David to make sweethome3d work fine with
> > java3d 1.6.0-pre12, I don't have anything against updating java3d. This
> > package itself has no formal maintainer, but I'm pretty sure David might
> > want to do the packaging work.
> David should remove libj3dcore-ogl.so and replace old Java3D JARs by those
> provided by JogAmp for both Java3D itself and its dependencies, it's
> explained in my very long up-to-date tutorial:
> http://gouessej.wordpress.com/2012/08/01/java-3d-est-de-retour-java-3d-is-
> back/
> 
> If it isn't enough to make it work, I advise him to post the stack traces
> and/or the error logs so that I can solve his problem once for all. I don't
> think that Sweethome 3D tries to load the native libraries in its own code.

Assigning to all packagers collectively, since java3d had no registered maintainer and David, to whom we owe a lot of gratitude for all his work on very many much more urgent things, apparently can't find time for this.

CC: (none) => marja11
Source RPM: (none) => java3d-1.5.2-12.mga6
Assignee: bugsquad => pkg-bugs

Comment 15 Marja Van Waes 2017-12-03 21:50:34 CET
(In reply to Marja van Waes from comment #14)

> 
> Assigning to all packagers collectively, since java3d had no registered
> maintainer and David, to whom we owe a lot of gratitude for all his work on
> very many much more urgent things, apparently can't find time for this.

Reassigning to the java stack maintainer group, that we now have.

Assignee: pkg-bugs => java

David Walser 2020-12-19 16:58:07 CET

See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=27875

Comment 16 Morgan Leijström 2022-01-27 15:42:05 CET
See Bug 27875

Resolution: (none) => OLD
CC: (none) => fri
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.