This is the mail archive of the java-discuss@sources.redhat.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

More bugs with inner classes (was: Freenet compilation errors.)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]