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-S8vpcOIGcCXYtjvyW6yDsg@xxxxxxxxxxxxxxxx
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-goEDY2E6dbVyDzI6CaY1VQ@xxxxxxxxxxxxxxxx>;
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-goEDY2E6dbVyDzI6CaY1VQ@xxxxxxxxxxxxxxxx>
Date: Wed, 14 Dec 2005 09:44:09 +0100
From: Meskauskas Audrius <audriusa-goEDY2E6dbVyDzI6CaY1VQ@xxxxxxxxxxxxxxxx>
Reply-To: audriusa-goEDY2E6dbVyDzI6CaY1VQ@xxxxxxxxxxxxxxxx
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Mark Wielaard <mark-S8vpcOIGcCXYtjvyW6yDsg@xxxxxxxxxxxxxxxx>
CC: fedora-devel-java-list-H+wXaHxf7aLQT0dZR+AlfA@xxxxxxxxxxxxxxxx,
gbenson-H+wXaHxf7aLQT0dZR+AlfA@xxxxxxxxxxxxxxxx, Jesse Keating
<jkeating-H+wXaHxf7aLQT0dZR+AlfA@xxxxxxxxxxxxxxxx>, Anthony Green
<green-H+wXaHxf7aLQT0dZR+AlfA@xxxxxxxxxxxxxxxx>
Subject: Re: [Fwd: Re: [fedora-java] JacORB build problem]
References:
<1134497432.6378.208.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@xxxxxxxxxxxxxxxx>
In-Reply-To:
<1134497432.6378.208.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@xxxxxxxxxxxxxxxx>
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 ---
signature.asc
Description: This is a digitally signed message part
|