Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 218187

Summary: app-office/openoffice-2.4.0 still wants to install sun-jdk-1.5
Product: Gentoo Linux Reporter: Heiko Baums <heiko.baums>
Component: Current packagesAssignee: Java team <java>
Status: VERIFIED WORKSFORME    
Severity: normal    
Priority: High    
Version: 2007.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Heiko Baums 2008-04-17 23:18:38 UTC
app-office/openoffice-2.4.0 still wants to install sun-jdk-1.5, even if virtual/jdk-1.6* is set as dependency:
	java? ( || ( =virtual/jdk-1.6* =virtual/jdk-1.5* =virtual/jdk-1.4* )


This is the output of `emerge -pv openoffice`:

# emerge -pv openoffice

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] dev-libs/icu-3.8.1-r1  USE="-debug -doc -examples" 10,742 kB
[ebuild  N    ] dev-java/rhino-1.5.5-r4  USE="-doc -source" 1,506 kB
[ebuild  N    ] media-libs/vigra-1.5.0-r1  USE="jpeg png tiff zlib -doc -fftw" 12,554 kB
[ebuild  N    ] media-libs/libsvg-0.1.4  359 kB
[ebuild  N    ] app-text/libwpd-0.8.14  USE="-doc" 415 kB
[ebuild  N    ] app-text/hunspell-1.2.2_beta  USE="ncurses readline" 729 kB
[ebuild  N    ] app-admin/eselect-oodict-20061117  4 kB
[ebuild  N    ] net-nds/openldap-2.3.41  USE="berkdb crypt gdbm ipv6 perl ssl tcpd -debug -kerberos -minimal -odbc -overlays -samba -sasl (-selinux) -slp -smbkrb5passwd" 3,712 kB
[ebuild  N    ] x11-libs/startup-notification-0.9  221 kB
[ebuild  N    ] dev-java/tomcat-servlet-api-4.1.36  USE="-doc -source" 3,629 kB
[ebuild  NSF  ] dev-java/sun-jce-bin-1.5.0 [1.6.0] 9 kB
[ebuild  N    ] dev-perl/File-Which-0.05  8 kB
[ebuild  N    ] dev-perl/yaml-0.65  92 kB
[ebuild  N    ] dev-perl/IO-Zlib-1.07  10 kB
[ebuild  N    ] dev-perl/IO-String-1.08  8 kB
[ebuild  N    ] virtual/perl-Test-Harness-2.64  0 kB
[ebuild  NS   ] dev-java/sun-jdk-1.5.0.15-r1 [1.6.0.06] USE="X alsa jce nsplugin -doc -examples -odbc" 48,506 kB
[ebuild  N    ] java-virtuals/servlet-api-2.3  0 kB
[ebuild  N    ] dev-perl/Archive-Tar-1.38  42 kB
[ebuild  NS   ] virtual/jdk-1.5.0 [1.6.0] 0 kB
[ebuild  N    ] dev-db/hsqldb-1.8.0.9-r1  USE="-doc -source -test" 3,412 kB
[ebuild  N    ] dev-perl/module-build-0.28.08  USE="-test" 192 kB
[ebuild  N    ] dev-perl/ExtUtils-CBuilder-0.19  19 kB
[ebuild  N    ] dev-perl/extutils-parsexs-2.18  25 kB
[ebuild  N    ] perl-core/File-Spec-3.25  115 kB
[ebuild  N    ] virtual/perl-File-Spec-3.25  0 kB
[ebuild  N    ] dev-perl/Archive-Zip-1.20  173 kB
[ebuild  N    ] app-office/openoffice-2.4.0  USE="binfilter cups dbus java kde ldap pam -debug -eds -firefox -gnome -gstreamer -gtk -mono -odk -seamonkey -webdav -xulrunner" LINGUAS="de -af -ar -as_IN -be_BY -bg -bn -br -bs -ca -cs -cy -da -dz -el -en -en_GB -en_US -en_ZA -eo -es -et -fa -fi -fr -ga -gl -gu_IN -he -hi_IN -hr -hu -it -ja -km -ko -ku -lt -lv -mk -ml_IN -mr_IN -nb -ne -nl -nn -nr -ns -or_IN -pa_IN -pl -pt -pt_BR -ru -rw -sh -sk -sl -sr -ss -st -sv -sw_TZ -ta_IN
-te_IN -tg -th -ti_ER -tn -tr -ts -uk -ur_IN -ve -vi -xh -zh_CN -zh_TW -zu" 246,833 kB

Total: 28 packages (25 new, 3 in new slots), Size of downloads: 333,302 kB
Fetch Restriction: 1 package (1 unsatisfied)


Maybe it's because of the dependency rhino-1.5:
	java? (
		=dev-java/rhino-1.5* )


Please, check, if the dependecies could be updated, so that Java 1.5 is not needed anymore, because it is very buggy, and Java 1.6 is out for a long time now.

And I really want to get rid of Java 1.5. OOo is the only reason, why I still have installed it.
Comment 1 Andreas Proschofsky (RETIRED) gentoo-dev 2008-04-18 05:29:36 UTC
Wrong guess, hsqldb is to blame for this, it still relies on java-1.5. Re-Assigning to appropiate herd, nothing OOo can do here
Comment 2 Petteri Räty (RETIRED) gentoo-dev 2008-04-18 09:31:08 UTC
(In reply to comment #0)
> 
> Please, check, if the dependecies could be updated, so that Java 1.5 is not
> needed anymore, because it is very buggy, and Java 1.6 is out for a long time
> now.
> 

We check them when we commit things. hsqldb provides a jdbc 2 driver and as such does not compile against the jdbc 3 API in sun-jdk-1.6. In the future instead of asking us to check deps please do it yourself and file a bug only if there is something to fix. Otherwise these questions belong to our mailing list or #gentoo-java IRC channel.
Comment 3 Heiko Baums 2008-04-18 11:58:45 UTC
Reopening this bug, because I think that this is a bug.

Are you really sure, that hsqldb doesn't work with Java 1.6?

I mean, in Arch Linux it's also installed with Java 1.6 and without Java 1.5. And I can't find any issues for Arch Linux, neither in their flyspray nor in their forums. Quite the contrary, I found postings in their forums, that it works.

Also when searching the web and http://hsqldb.org I can't find any hint, that hsqldb doesn't work with Java 1.6.

In their "Feature Summary" I found this:
Switchable source code to support JDK 1.1.x, 1.2.x, 1.3.x, 1.4.x and above

See:
http://hsqldb.org/web/hsqlFeatures.html

For me, this includes, JDK 1.6, too.

And in their bug tracker, I found an old request for implementing JDBC 3, instead of JDBC 2, but I haven't found an issue regarding Java 1.6.

In the chapter "1.1 What the JDBC 2.0 API Includes" on http://java.sun.com/javase/6/docs/technotes/guides/jdbc/getstart/intro.html#1006158
it says, that JDBC 2.0 API includes JDBC 1.0 API. Well, that's about JDBC 2.0, but I think, if JDBC 2.0 is downwardly compatible, then JDBC 3.0 is most likely downwardly compatible, too.

So, please, recheck, if this dependency is really necessary. Being forced to keeping Java 1.5 in addition to Java 1.6 is really annoying and eats unnecessarily HDD space.
Comment 4 Heiko Baums 2008-04-18 12:09:31 UTC
Btw., if you really found out, that hsqldb doesn't work with Java 1.6, then you should file a bug report to the hsqldb developers. But I think, you know this anyway.
Comment 5 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2008-04-18 12:33:24 UTC
Hsqldb works with 1.6 but doesn't BUILD with 1.6. So you can of course unmerge java 1.5 after you install (build) hsqldb. But you CAN'T build hsqldb with 1.6. Arch linux is IIRC binary distro so this doesn't apply to them.
Comment 6 Petteri Räty (RETIRED) gentoo-dev 2008-04-18 23:59:36 UTC
(In reply to comment #3)
> Reopening this bug, because I think that this is a bug.
> 
> Are you really sure, that hsqldb doesn't work with Java 1.6?
> 

JAVA_PKG_FORCE_VM="sun-jdk-1.6" emerge -1 hsqldb and watch it blow up as it seems you don't believe what the Gentoo Java project lead tells you.
Comment 7 Heiko Baums 2008-04-19 00:59:44 UTC
(In reply to comment #5 and comment #6)

Yes, I tried to compile it with Java 1.6, and without Java 1.5, without success.

But have you filed a bug report to upstream?
I couldn't find a bug report regarding Java 1.6 on http://hsqldb.org.

I mean, runtime dependencies shouldn't differ from build dependencies. Means, if hsqldb runs with Java 1.6, then it should compile with the same version, too.
Comment 8 Petteri Räty (RETIRED) gentoo-dev 2008-04-19 11:09:08 UTC
(In reply to comment #7)
> (In reply to comment #5 and comment #6)
> 
> Yes, I tried to compile it with Java 1.6, and without Java 1.5, without
> success.
> 
> But have you filed a bug report to upstream?
> I couldn't find a bug report regarding Java 1.6 on http://hsqldb.org.
> 

No bug should be filed because there is none.

>
> I mean, runtime dependencies shouldn't differ from build dependencies. Means,
> if hsqldb runs with Java 1.6, then it should compile with the same version,
> too.
> 

You don't understand Java compatibility. The releases are only ABI compatible backwards. The API breaks so you must compile with 1.5 although you can run it with all the later versions. If you want to know more ask on the proper support channels like #gentoo-java.

Comment 9 Heiko Baums 2008-04-19 12:46:46 UTC
(In reply to comment #8)

> No bug should be filed because there is none.

Believe me, there IS one!

> You don't understand Java compatibility. The releases are only ABI compatible
> backwards. The API breaks so you must compile with 1.5 although you can run it
> with all the later versions.

I DO understand Java compatibility. The API breaks so the software that depends on this broken API has to be adapted to this new API. If it isn't adapted and the software still relies on an obsolete API then this IS a bug.
Comment 10 Heiko Baums 2008-04-19 12:48:57 UTC
Another possibility is that there is a bug in the JDK 1.6 itself. If Java 1.6 runs Java 1.5 software, it also has to compile Java 1.5 software.
Comment 11 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2008-04-19 15:02:06 UTC
(In reply to comment #9)
> (In reply to comment #8)
> 
> > No bug should be filed because there is none.
> 
> Believe me, there IS one!

I'm an ateist, so no blind believing, sorry :)

> > You don't understand Java compatibility. The releases are only ABI compatible
> > backwards. The API breaks so you must compile with 1.5 although you can run it
> > with all the later versions.
> 
> I DO understand Java compatibility. The API breaks so the software that depends
> on this broken API has to be adapted to this new API. If it isn't adapted and
> the software still relies on an obsolete API then this IS a bug.

JDBC2 is not "obsolete" or "broken" it's still supported in a supported version of JDK. It will be obsolete only when Sun stops supporting <1.5 JDK's.

Hsqldb upstream is free to implement JDBC3 support when they see fit. Yes, they could also make their JDBC2 compile with jdk 1.6 by adding empty methods but there's not much point in that. Feel free to file a bug there but please don't tell them we need it on Gentoo or something, because we don't.

(In reply to comment #10)
> Another possibility is that there is a bug in the JDK 1.6 itself. If Java 1.6
> runs Java 1.5 software, it also has to compile Java 1.5 software.
 
No. If you don't believe us, how about Sun developers? Read for example this http://blogs.sun.com/darcy/entry/how_to_cross_compile_for

And last time: if you want to discuss it further, feel free but use appropriate channels as #gentoo-java, or the mailing list. NOT BUGZILLA. thank you