An IllegalAccessError is thrown from within commons-logging during
Tomcat startup. It happens because an anonymous inner class of
o.a.c.l.impl.LogFactoryImpl attempts to access a protected method of
o.a.c.l.impl.LogFactoryImpl's parent class. I'm not sure whether
libgcj is doing the right thing here: jcf-dump shows the inner class's
superclass as java.lang.Object so by rights it shouldn't be able to
access the protected method that it is trying to. However, I don't
know whether inner classes have special rights (I'm guessing not) or
whether they should be compiled with their containing class as their
superclass. Need to find a Java god to ask about this one...
This seems to be a bytecode generation issue, since it vanished when I
fixed the thing that was stopping us from using the shared objects.