[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: what's needed to compile Derby

From: Andrew John Hughes
Subject: Re: what's needed to compile Derby
Date: Sat, 22 Oct 2005 19:16:02 +0100

On Fri, 2005-10-21 at 16:30 -0700, Dan Meany wrote:
> Derby is a robust and featurefull all-java database
> contributed by IBM to Apache. I was looking to make an
> .exe out of derbynet.jar, et al. and tried to compile
> them with gcj (both gcj 4.0.1 from FC4 and the latest
> cygwin) and found javax.servlet and xslt/xml classes
> (as well as some ssl-related things) missing as well
> as java.lang.Enum (a jdk1.5 class).  It would appear
> it is not possible at this time to create a totally
> free version of Derby that does not require installing
> the Sun JVM.  Does anyone have any other experiences?


* javax.servlet is an optional extra on both Free Java and Sun's JDK.
There is a Free copy of the servlet classes here, along with some other
Classpath extensions:

* The XML/XSLT classes have been merged into GNU Classpath (which forms
the library of classes for gcj and other JVM solutions) from GNU JAXP,
but, given that you're having problems, this probably didn't make 4.0.1
(gcj's release cycle works in a way that means that a gcj release is
someway behind the current state of Free Java, as represented by GNU
Classpath).   GNU JAXP should be available separately from the same link
as above.

* SSL is probably pretty much the same as the XML.  If something is
missing from gcj, try:

For a status report of how the current GNU Classpath libraries actually
fare against Sun's JDK (at least as far as methods that *exist* - how
well they work is of course another matter both with the GNU solution
and Sun's), you can check our binary compatability pages:

This will tell you if a method is really missing in GNU Classpath, or
has just not made it across to a gcj release yet.

Enums are another case, because the java.lang.Enum class exists, but
can't actually be compiled by most Free compilers (due to the use of the
parameterized types introduced by 1.5).  As a result, these classes are
maintained on a separate branch of Classpath, that we call the
generics-branch (which basically means it just holds anything that uses
the new language features, which isn't necessarily all of 1.5).  At
present, this can only be pulled and built from CVS, but it does include
enumerations and the new Collections classes.  The only current compiler
that will handle it is ecj, the Eclipse compiler.

It might be the case that an older version of Derby will work, as their
use of the 1.5 language features I imagine is pretty recent.
Alternatively, you may want to look at Retroweaver:

Hope this is of some help,
Andrew :)

Please avoid sending me Microsoft Office (e.g. Word, PowerPoint)

"Value your freedom, or you will lose it, teaches history.
`Don't bother us with politics' respond those who don't want to learn."
-- Richard Stallman

Escape the Java Trap with GNU Classpath!
public class gcj extends Freedom implements Java { ... }

Attachment: signature.asc
Description: This is a digitally signed message part

reply via email to

[Prev in Thread] Current Thread [Next in Thread]