Bryce McKinlay mckinlay@redhat.com
Fri Jun 3 15:06:00 GMT 2005

Roman Kennke wrote:

>I try to compile GNU Classpath with GCJ (3.4 and 4.0) and stumble over
>the following oddity (actually hundreds of them):
>../gnu/java/rmi/RMIMarshalledObjectOutputStream.java:52: Fehler: Class
>�gnu.java.rmi.RMIMarshalledObjectOutputStream� doesn't define the abstract method �void
>org.omg.CORBA.portable.OutputStream.write_wstring(java.lang.String)� from class
>�org.omg.CORBA.portable.OutputStream�. This method must be defined or class
>�gnu.java.rmi.RMIMarshalledObjectOutputStream� must be declared abstract.
>   public class RMIMarshalledObjectOutputStream extends RMIObjectOutputStream
>It looks like GCJ is confusing java.io.OutputStream (that is what
>gnu.java.rmi.RMIMarshalledObjectOutputStream is derived from) with org.omg.CORBA.portable.OutputStream.
>How is that possible? The code looks correct to me, and jikes seems to have no problem with it. Even if I
>fully qualify all ObjectOutputStream references it fails. This is very odd.
>I have the following proposals how to handle this:
>1. don't import CORBA stuff in the GCJ tree until GCJ is fixed for these issues and add a configure option
>in GNU Classpath --without-corba for those (like me) who would like to use GCJ for compiling Classpath.
>2. implement a workaround (oh no, not another one! ;-) ) for GCJs bugs. In this case I would think
>temporarily renaming the CORBA ObjectOutputStream (and other affected clash-names) would do. This is of
>course very ugly, against the specs and whatnot.
>Any other suggestions?

2. is pretty pointless. Its better to not have the classes at all than 
have ones that don't implement the specs properly. The best approach for 
this is to identify the bug and get it fixed. This looks pretty similar 
to PR 18796. Can you confirm that its the same problem, or if its 
slightly different, make an additional test case?

If this is holding back CORBA integration, then we ought to prioritize 
this bug.



More information about the Java mailing list