This is the mail archive of the
java-discuss@sources.redhat.com
mailing list for the Java project.
More bugs with inner classes (was: Freenet compilation errors.)
- To: java-discuss at sources dot redhat dot com
- Subject: More bugs with inner classes (was: Freenet compilation errors.)
- From: "Mark J. Roberts" <mjr at statesmean dot com>
- Date: Wed, 17 Jan 2001 22:51:13 -0600 (CST)
Our code now compiles with an unpatched gcj/libjava, save only the
easily-circumvented bug with different packages (for which Tom Tromey
suggested a patch, but has not yet committed it).
However, when I try to compile it into classes with the -C option, a new
error emerges:
gcj --encoding=8859_1 -C ../transport/tcpConnection.java
../transport/tcpConnection.java: In class `Freenet.transport.tcpConnection$ConnectThread':
../transport/tcpConnection.java: In method `(Freenet.transport.tcpConnection,Freenet.transport.tcpAddress)':
../transport/tcpConnection.java:161: Can't find method `finit$()' in type `Freenet.transport.tcpConnection$ConnectThread'. Candidates are:
`finit$()' in `Freenet.transport.tcpConnection$ConnectThread'
`Freenet.Connection()' in `Freenet.Connection'.
}
^
1 error
make: *** [../transport/tcpConnection.class] Error 1
Also, I was wondering if the compiler can make header files (like
gcjh) without first compiling to Java classes. AFAIK, the only way to do
this currently is:
gcj -C Test.java
gcjh Test
gcj -shared -o libtest.so Test.[java|class]
Why not add an option to make header files automatically? Like, for
example:
gcj -shared -o libtest.so -h Test.java
where -h tells it to make header files too? Also, when dealing with
packages, it is more difficult to deduce the class from the filename. A
feature like this would be very useful.
Anyway, thanks for all the help. Once the BigInteger.modPow bug is
resolved (we might switch to using GMP with CNI) we'll be able to make
*much* friendlier releases, which translates into thousands more users and
a more reliable Freenet.
--
Mark Roberts
mjr@statesmean.com