Funny code

Today I worked on packaging Saxon 8 for Debian. While looking at some of its code I saw the following:

if (System.getProperty("java.vendor").equals("Jeroen Frijters")) {
platform = DotNetPlatform.getInstance();

Note: Jeroen Frijters is the author of IKVM.

Posted in Uncategorized | Comments Off on Funny code

Icedtea for Debian and Ubuntu

I have built a package based on icedtea for Ubuntu and Debian.
You can apt-get it from

deb ./

Its currently very raw. E.g. it builds with GCJ but has wrong build
dependencies for it. And its only buildable for i386 currently.

Patches are welcome.

Please test and report back.

Posted in Uncategorized | Comments Off on Icedtea for Debian and Ubuntu

Yesterday I was happy about SUN…

Yesterday I was happy about SUN, because I saw an announcement that WTK 2.5.1 was released. And it includes a Linux version. The versions 2.3 and 2.5 were Windows only. The only available Linux version was 2.2. It worked nice but missed some features and had an annoying bug that signing of midlets were not possible. This bug was introduced in WTK 1.1 and fixed in WTK 2.5.

Today I download WTK 2.5.1 for Linux and installed it. I tried to run a first midlet and got this error message:

java.lang.UnsatisfiedLinkError: /home/mkoch/local/WTK2.5.1/bin/ /lib/tls/i686/cmov/ version `GLIBC_2.4' not found (required by /home/mkoch/local/WTK2.5.1/bin/
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(
        at java.lang.ClassLoader.loadLibrary(
        at java.lang.Runtime.load0(
        at java.lang.System.load(
        at com.sun.kvem.Sublime.(Unknown Source)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
        at java.lang.reflect.Constructor.newInstance(
        at java.lang.Class.newInstance0(
        at java.lang.Class.newInstance(
        at com.sun.kvem.Lime.createLime(Unknown Source)
        at com.sun.kvem.KVMBridge.(Unknown Source)
        at com.sun.kvem.KVMBridge.getBridge(Unknown Source)
        at Source)
        at com.sun.kvem.environment.EmulatorInvoker.runEmulatorImpl(Unknown Source)
        at com.sun.kvem.environment.EmulatorInvoker.main(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
        at java.lang.reflect.Method.invoke(
        at com.sun.kvem.environment.JVM.main(Unknown Source)

I run a pure Debian Etch system as my desktop. So its not too old. I know there are releasons for etch not to include Glibc 2.4. Thats really okay. But I really wonder why builds against Glibc 2.4? What feature introduced in Glibc 2.4 is needed? I guess none.
They are just stupid and built against a new, shiny Glibc without caring about their users.

SUN: Please care about your users and release a new build against Glibc 2.3 soon. Not everyone will update his/her development machine just to be able to run WTK. When you release proprietary software, do it right. If you are not able to, make it open source, so the community can fix it.

Posted in Java, Uncategorized | 1 Comment

Maven 2 for Debian

I have built a preliminary Debian packages for Maven 2 for people who need it or wanna look into Maven. I did this by using the binary distribution from upstream. You can install it by adding

deb ./

to your


and then do

aptitude update
aptitude install maven2-binary

This package is just for personal usage. It will not get uploaded to the official Debian archive. The Debian Java team (including me) is working on a maven2 package for Debian which builds from source but has itself around 90 dependencies. And the dependencies mostly need maven2 for building too. Bootstrapping can be fun.

Posted in Debian, Java, Uncategorized | 4 Comments

Spam protection considered harmful?

I wanted to read some blog entry today I got a lot of 403 errors. I thought this is strange that bloggers deny access to their readers. So I wanted to blog about this.

So I wanted to access my own blog but got a lot of 403 errors again. After some digging into the issue I found out that I had the BadBehavior plugin for WordPress enabled and my IP was listed in three different RBLs. I really wonder how it got into them all.

What do others do about this? Disabling comments or just live with this? Or use a different way to fight against spam in your blogs?

Posted in General, Uncategorized | 1 Comment

New Eclipse committer

I have been approved as Committer for the <a href=””>Eclipse Linux Distributions Project</a>. This project aims to improve <a href=””>Eclipse</a> on Linux distrubutions, make it work better on the the system and make development for Linux easier. Main distributions working in this project are Debian, Fedora, Novell/SuSE and Ubuntu. Other Linux distributions are welcome.

Posted in General, Uncategorized | Comments Off on New Eclipse committer

Experimental GNU classpath snapshots

Inspired by a blog post from Anthony Green about gcjwebplugin uploaded for FedoraCore 5 I created an experimental package for GNU classpath based on CVS. It includes the latest fixes for AWT/Swing. This means the new CairoGraphics2D implementation is used by default. This enables much more Java applications to work with GNU classpath. Another point to note is that this is the first upload of GNU classpath that includes gcjwebplugin, a free java applet plugin for web browsers. This version of it is fully reworked from the last solo release of it. It should be much more stable then ever.

You can find it currently in the “experimental” distritbution of Debian. The next release of GNU classpath will be released in approximately 3-4 weeks. Then all these cool features will land in Debian “unstable”.

I plan to continue uploading newer GNU classpath CVS snapshots to experimental. Stay tuned for more features and Java applications working with free runtimes. Who wants proprietary Java anyway?

Posted in General, Uncategorized | Comments Off on Experimental GNU classpath snapshots

SUN JDK in Debian non-free

As most people know already SUN JDK is now included in the non-free section of Debian. There where much discussions about the license of the JDK. To me its very questionable in its current state. For sure it would be better if the license would be more clear. But lets no debate about this again.

I wanna raise another question: Who will do the needed support for our users?

Noone of the Debian Java maintainers group was really involved in the inclusion of SUN JDK in non-free. Noone from the team wants to really put much effort into closed source Java. I dont speak about closing bugs. I mean answering questions in the IRC channel or on the mailing list. People need help with everything from setting JAVA_HOME environment variable correctly to setting up running a bigger application with a runtime. As I see it. SUN JDK will only rot in our archive. Noone likes it. FTP-Master put work on our shoulders but we don’t do it. It would have been great if FTP-Master would have contact us to clear the situation before doing any blindfold action.

I think this got totally lost in the current discussions inside Debian.

Posted in General, Uncategorized | Comments Off on SUN JDK in Debian non-free

Fwd: Hacking for beer!

As Robert Schuster stats in his blog we are looking for people who can help with porting issues of GCJ and other free runtimes for Java. For example we have problems with GCJ on arm, hppa, mips/el and m68k in Debian. I extend Robert’s offer to all architectures Debian supports. Earn a beer or another drink at your choice at FOSDEM.

Posted in General, Uncategorized | Comments Off on Fwd: Hacking for beer!

https works out of the box with GNU classpath CVS

In order to debug/solve Debian bug #341818 I tried to run gcjappletviewer.jar with jamvm 1.4.2-1, classpath 2:0.20-2 and libjessie-java 1.0.1-2. Everything I tried failed. Then I updated my classpath packages to a current CVS snapshot and it worked out of the box. libjessie-java is not needed anymore as Jessie is merged into GNU classpath in upstream. This means we can access HTTPS urls with free runtimes for Java in the near future. This will also help gcjwebplugin to access applets on HTTPS sites.

Posted in General, Uncategorized | Comments Off on https works out of the box with GNU classpath CVS