This Time Self-Hosted
dark mode light mode Search

On the road to Free Java – a story

After my post about the long road to Free Java I’ve tried to inquiry everybody who might have a clue about it and found what the root cause of the problem was.

Basically, when IcedTea6 is built, it has to bootstrap itself, so it first builds itself with the JDK you provide (gcj-jdk) and then it rebuilds it with icedtea6 itself; but to rebuild itself, it sets the JAVA_HOME variable during build, hoping for ant to pick it up. But by choice of the Gentoo Java team, the JAVA_HOME variable is not supported nor respected, so the override fails, and it tries to build itself still with the previous compiler, the wrong one.

How can this work for anybody then, like Andrew said ? Well the trick is in the keyword you use. On stable systems, ant-core-1.7.0-r3 from the Java overlay is picked up, which contains an hack from Andrew (no you cannot call it “the proper way” since it does not fix the comments; if your idea of hack does not encompass doing a change and leave the opposite comments still there, then I start to worry…) to allow respecting JAVA_HOME. If you are on unstable systems, you’re going to get ant-core-1.7.1 from the main tree, that version does not have the hack, and thus will fail to build IcedTea6. I’m not sure where David Philippi have seen ant-core-1.7.1-r1 from java-overlay, since it still has the old version.

So I decided that even if it does not conform to my usual QA strictness, I wanted to try out IcedTea6. The reason for that is that I’m addicted to Yahoo Games and I haven’t found any free software package yet that supports playing online to Canasta, for instance… and I was tired to use the laptop for that since I have Yamato here all the time. I then disabled my --as-needed compiler (the build system fails when it comes to properly order the linking lines), installed the hacked ant-core, and merged icedtea6.

This time 1.3.1-r1 finally merged and I could try it out, good! about:plugins on Firefox shows me that it’s picked up, but … once I get to Yahoo games page, it does not really work: the “table” window opens, but then it does not load the applet, it goes in timeout and tries to reload; does so a few times, then Yahoo tells you to disable popup blockers.

I tried a couple more applets along the line, but it still failed quite badly, crashing a couple of time. Yeah we’re on the road to a Free Java, but we’re certainly not there yet.

On the other hand, if somebody knows how to debug problems like the ones I described above, I’d be glad to provide more information to the icedtea/openjdk developers to see that they get resolved and we can finally have a working nsplugin on AMD64.

Comments 5
  1. You’re right, I’ve got the normal ant-core installed, only an older version was from the overlay. I guess one can use an official ebuild once IcedTea6 is the only jdk installed.Don’t know wheter yahoo games works for me, I don’t have an account or the wish to sign up for one. I tested with (free board games) and their plugin does work using IcedTea6.

  2. Heh I guessed right, it was ant’s environment. I was the one who pushed for ant to be bumped to 1.7.1 for some unrelated thing and I did repeatedly state that it would break icedtea but no one cared enough to do anything about it. Andrew’s “hack” only prevents JAVA_HOME from getting set if it’s been set already. This doesn’t seem too crazy to me but I suppose it could result in some odd behaviour if someone inadvertently set JAVA_HOME.

  3. Yahoo Games might not be the best acid test of a Java setup. Over the last year or so Yahoo’s been doing new versions of their popular games that require a Windows Java platform.Take Text Twist — probably the most popular game they’ve ever had — it used to require just Flash, but now it needs Flash and Java. Load up a 32-bit browser with either the sun-1.6 or -1.5 JREs, and you get a message saying that Mac and Linux Java platforms are not supported. Looking in the Java console reveals some errors about various bits of code missing.So, don’t be too terribly upset if Java completely fails on Yahoo Games….that’s all I’m sayin’.

  4. I guess if they do make Canasta require Windows I’ll have to write my own anyway ;)But I’m sure it at least works with OSX and with 32-bit Java, that’s why I’m upset IcedTea6 does not work.But at least it doesn’t crash the browser with that.

  5. Since I don’t do non-free software, I’ve not enough base Java knowledge to help here, but I’m glad someone with some “profile” is finally talking about free Java on Gentoo.I suppose the problem is that the Java project will be pretty much self-selecting to those who don’t care so much about the freedom of their software, since for years anything close to current Java required proprietaryware, so by definition, those who know enough to work on it will be proprietaryware users who pragmatically don’t care so much about freedom, so long as it “just works”. Unfortunately, that means it does NOT “just work” for many of us, but the project self-selects against those for whom it doesn’t work, as well. So we end up with a Gentoo/Java project that doesn’t, in general, care so much about the status of free Java, as long as the proprietaryware version works on the platforms they use, and free Java, in the form of Iced Tea, even once it becomes available, gets neglected.So yes, I’m glad there are a few working on it, and that you are now one of them, particularly since your generally high profile (and generally high skill level combined with a “let’s get it done, here’s my help” approach) means more attention will be drawn to the problem of truly free Java on Gentoo, for indeed it /does/ remain a problem at this time.I’m looking forward to being able to plug that hole, just as the flash hole, which BTW I use the xine back/mid-end for now, and can thank you for your work with xine and etc.Duncan

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.