Hi, I asked Audrius, who wrote the org.omg corba implementation for GNU Classpath to take a look at this. He isn't subscribed to the list so I forward his reply (attached). Thanks for looking into this Audrius. For those interested in free Corba, Audrius will give a Developer Talk on the implementation during Fosdem 26/27 Februari in the GNU Classpath hacker room. We are still working on the full program and still looking for more exciting talks/presentations/demos (we don't have anybody presenting the gcj related improvements Fedora Core 5 yet, hint...) http://lists.gnu.org/archive/html/classpath/2005-11/msg00122.html Cheers, Mark
--- Begin Message ---Received: from mail by gnu.wildebeest.org with spam-scanned (Exim 3.36 #1 (Debian)) id 1EmSFq-0004oL-00 for <mark@localhost>; Wed, 14 Dec 2005 09:45:00 +0100 Received: from localhost ([127.0.0.1]) by gnu.wildebeest.org with esmtp (Exim 3.36 #1 (Debian)) id 1EmSFp-0004oI-00 for <mark@localhost>; Wed, 14 Dec 2005 09:44:53 +0100 Delivered-To: klomp.org-mark@xxxxxxxxx Received: from mail.qwknetllc.com [209.161.29.2] by localhost with POP3 (fetchmail-6.2.5) for mark@localhost (single-drop); Wed, 14 Dec 2005 09:44:53 +0100 (CET) Received: (qmail 17103 invoked by uid 399); 14 Dec 2005 08:44:13 -0000 Received: from unknown (HELO mail13.bluewin.ch) (195.186.18.62) by arthur.qwknetllc.com with SMTP; 14 Dec 2005 08:44:13 -0000 Received-SPF: none (arthur.qwknetllc.com: domain at bluewin.ch does not designate permitted sender hosts) identity=mailfrom; client-ip=195.186.18.62; envelope-from=<audriusa@xxxxxxxxxx>; Received: from [127.0.0.1] (83.78.178.67) by mail13.bluewin.ch (Bluewin 7.2.069.1) id 438B1A90003FAC30; Wed, 14 Dec 2005 08:44:12 +0000 Message-ID: <439FDB59.9020303@xxxxxxxxxx> Date: Wed, 14 Dec 2005 09:44:09 +0100 From: Meskauskas Audrius <audriusa@xxxxxxxxxx> Reply-To: audriusa@xxxxxxxxxx User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Mark Wielaard <mark@xxxxxxxxx> CC: fedora-devel-java-list@xxxxxxxxxx, gbenson@xxxxxxxxxx, Jesse Keating <jkeating@xxxxxxxxxx>, Anthony Green <green@xxxxxxxxxx> Subject: Re: [Fwd: Re: [fedora-java] JacORB build problem] References: <1134497432.6378.208.camel@xxxxxxxxxxxxxxxxxxxxx> In-Reply-To: <1134497432.6378.208.camel@xxxxxxxxxxxxxxxxxxxxx> Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on nescio X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=unavailable version=3.0.3 Content-Transfer-Encoding: quoted-printable Hi, Mark, It seems that JacORB is using its own omg.org library that slightly=20 differs from the official Java API. It is very easy and simple to make=20 GNU Classpath JacORB compliant, but we would loose the compatibility=20 with Sun's standard. In some cases we must not just revert to as early=20 as into the version 1.2, but also introduce the new fields and methods=20 that have never been in the Sun's API. To work around the problem, the user classes, defined in the omg.org=20 namespace must have priority against the system classes from the same=20 namespace. Alternatively, JacORB developers could probably fix the=20 system to match the official Java standard. In the most of cases it is=20 very easy to do. Surely, I would like people at least try GNU Classpath CORBA=20 implementation rather than putting JacORB on top immediately. If JacORB=20 provides some needed features that are missing in the official Sun=20 standard, we could add them into gnu.CORBA namespace. It is just=20 important for us to know which features are critical enough to deserve=20 this workaround. >Here are all the errors. > >AG > > > [javac] 19. ERROR in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/o= rb/ORBSingleton.java > [javac] (at line 525) > [javac] return new org.jacorb.orb.TypeCode (org.omg.CORBA.TCKind._= tk_local_interface, > [javac] > [javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^= ^^^^^^^^^ > [javac] org.omg.CORBA.TCKind._tk_local_interface cannot be resolved > =20 > There is no field TCKind._tk_local_interface in the Sun's Java API,=20 despite this constant is defined in the CORBA 3.0.3 standard, the value=20 being 33. If I put that field in, it would be the abs.add! Pass the hard=20 coded 33 there or define the constant in the org.jacorb namespace. > > [javac] 24. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/poa/POA.java > [javac] (at line 47) > [javac] public class POA > [javac] ^^^ > [javac] The type POA must implement the inherited abstract method >POAOperations.id() > =20 > Yes, it MUST from the version 1.4 inclusive, see Sun's javadoc. If you=20 do not define, you probably also do not use and can replace this method=20 by stub. > > [javac] 26. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/poa/POA.java > [javac] (at line 826) > [javac] public org.omg.CORBA.Object >create_reference_with_id(byte[] oid, > [javac] > [javac] String intf_rep_id) > [javac] throws WrongPolicy > [javac] >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^= ^^^^^^^^^^^^ > [javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > [javac] Exception WrongPolicy is not compatible with throws clause >in POAOperations.create_\reference_with_id(byte[], String) > =20 > This method NEVER throws the WrongPolicy exception of any kind, only=20 create_reference(String) does. Wrong method declaration in=20 org.jacorb.poa.POA.java. Correct the header, replace the WrongPolicy by=20 BAD_PARAM if you do need to throw anything from that method. > > [javac] 76. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/portableInterceptor= /IORInfoImpl.java > [javac] (at line 44) > [javac] public class IORInfoImpl extends >org.omg.CORBA.LocalObject > [javac] ^^^^^^^^^^^ > [javac] The type IORInfoImpl must implement the inherited abstract >method IORInfoOperations.current_factory() > [javac] ---------- > =20 > This is the 1.5 version method. If you never call this, maybe it could=20 be just replaced by stub? > > [javac] 77. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/portableInterceptor= /IORInfoImpl.java > [javac] (at line 44) > [javac] public class IORInfoImpl extends >org.omg.CORBA.LocalObject > [javac] ^^^^^^^^^^^ > [javac] The type IORInfoImpl must implement the inherited abstract >method IORInfoOperations.state() > =20 > This is also the 1.5 method. Consider replacing by stub if you cannot=20 implement it properly, despite it is very trivial (the value being=20 returned by the POA manager). > > [javac] 79. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/portableInterceptor= /IORInfoImpl.java > [javac] (at line 44) > [javac] public class IORInfoImpl extends >org.omg.CORBA.LocalObject > [javac] ^^^^^^^^^^^ > [javac] The type IORInfoImpl must implement the inherited abstract >method IORInfoOperations.adapter_template() > [javac] ---------- > =20 > Same here. > > [javac] 80. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/portableInterceptor= /IORInfoImpl.java > [javac] (at line 44) > [javac] public class IORInfoImpl extends >org.omg.CORBA.LocalObject > [javac] ^^^^^^^^^^^ > [javac] The type IORInfoImpl must implement the inherited abstract >method IORInfoOperations.manager_id() > [javac] ---------- > =20 > Same here. > > [javac] 81. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/portableInterceptor= /IORInfoImpl.java > [javac] (at line 44) > [javac] public class IORInfoImpl extends >org.omg.CORBA.LocalObject > [javac] ^^^^^^^^^^^ > [javac] The type IORInfoImpl must implement the inherited abstract >method IORInfoOperations.current_factory(ObjectReferenceFactory) > =20 > Same here. > > [javac] 92. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/ServantDelegate.jav= a > [javac] (at line 268) > [javac] _out.write_Object(self._get_interface() ); > [javac] ^^^^^^^^^^^^^^ > [javac] The method _get_interface() is undefined for the type >Servant > =20 > This method is called _get_interface_def() in the Sun's API, but up till=20 v 1.5 it is officially marked as not implemented. > > [javac] 103. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/TypeCode.java > [javac] (at line 598) > [javac] case TCKind._tk_local_interface: > [javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^ > [javac] TCKind._tk_local_interface cannot be resolved > [javac] ---------- > =20 > Already discussed. > > [javac] 104. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/TypeCode.java > [javac] (at line 624) > [javac] case TCKind._tk_local_interface: > [javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^ > [javac] TCKind._tk_local_interface cannot be resolved > [javac] ---------- > =20 > Already discussed. > > [javac] 105. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/TypeCode.java > [javac] (at line 942) > [javac] kind =3D=3D TCKind._tk_local_interface ) > [javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^ > [javac] TCKind._tk_local_interface cannot be resolved > [javac] ---------- > =20 > Already discussed. > > [javac] 107. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/TypeCode.java > [javac] (at line 1114) > [javac] case TCKind._tk_local_interface: > [javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^ > > [javac] TCKind._tk_local_interface cannot be resolved > =20 > Already discussed. > > [javac] 212. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/portableIntercept >\or/ServerRequestInfoImpl.java > [javac] (at line 45) > [javac] public class ServerRequestInfoImpl > [javac] ^^^^^^^^^^^^^^^^^^^^^ > [javac] The type ServerRequestInfoImpl must implement the inherited >abstract method ServerRequestInfoOperations.orb_id() > =20 > This is a very trivial 1.5 version method. It is probably missing in=20 org/jacorb/orb/portableInterceptor/ServerRequestInfoImpl.java > [javac] 214. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/portableInterceptor= /ServerRequestInfoImpl.java > [javac] (at line 45) > [javac] public class ServerRequestInfoImpl > [javac] ^^^^^^^^^^^^^^^^^^^^^ > [javac] The type ServerRequestInfoImpl must implement the inherited >abstract method ServerRequestInfoOperations.adapter_name() > [javac] ---------- > =20 > This is a very trivial 1.5 version method. It is probably missing in=20 org/jacorb/orb/portableInterceptor/ServerRequestInfoImpl.java > > [javac] 215. ERROR >in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/portableInterceptor= /ServerRequestInfoImpl.java > [javac] (at line 45) > [javac] public class ServerRequestInfoImpl > [javac] ^^^^^^^^^^^^^^^^^^^^^ > [javac] The type ServerRequestInfoImpl must implement the inherited >abstract method ServerRequestInfoOperations.server_id() > >AG > =20 > This is a very trivial 1.5 version method. It is probably missing in=20 org/jacorb/orb/portableInterceptor/ServerRequestInfoImpl.java > > > =20 >
--- End Message ---
Attachment:
signature.asc
Description: This is a digitally signed message part