Posted by fabriziogiudici
on August 4, 2008 at 2:35 PM PDT
After fixing my trivial but severe error described in my previous post , other problems occurred with OpenJDK and blueMarine.
One turned out to be a third party library (svgSalamander ) using some com.sun.* classes - this has been fixed by replacing it with another library for the same functions (Batik ). For the record, these projects implement SVG rendering that I use for some icons of blueMarine (in the long run, all icons of blueMarine should become .svg). This of course isn't absolutely something to blame OpenJDK for, but you should run a check on your projects to be sure that you don't have similar issues (you might be too optimistic because you know that *your* code doesn't have bad dependencies, but what about the third parties' libraries you're using?).
Too bad that Batik seems to have problems with OpenJDK - and this seems to be harder: a method fails because the runtime seems to be unable to find an internal color profile LINEAR_RGB.
java.lang.IllegalArgumentException: Can't load standard profile: LINEAR_RGB.pf<br />The same code works fine with Sun's JDK, and I even found an open issue about it - that should be closed since May (!). Too bad that it hasn't been updated for months and seems to be expiring today. On the other hand there is a similar issue closed in May, but it's probably only similar - in any case I think I'll file another report.
While I could unhappily work around that by manually replacing the offending icons with their bitmap counterpart, the same issue triggers when trying to manipulate some kind of photos - basically, "camera raw" formats. This isn't acceptable for blueMarine and, if I don't find a workaround, I will have to postpone the OpenJDK switch.
Since OpenJDK passed the Test Compatibility Kit (TCK), this means that some parts of imaging elaboration are not covered by it - and I'm really puzzled about that (it's to be said that most people won't use a LINEAR_RGB color profile - most of media comes with the sRGB profile). In any case, there's a blueMarine snapshot that at the moment at least starts with OpenJDK - this means that it should run on Fedora and other Linuxes without problems.
Another minor, but important, problem is that applications on OpenJDK seem to use by default a serif font - but this is something I should be able to fix by myself. In the next days I will also run some benchmark to see whether there are mayor differences in the graphics pipeline.
Technorati Tags: OpenJDK , blueMarine