The rawhide JacORB doesn't build with gcj 4.1 because of incompatibilities between libgcj's org.omg.CORBA and JacORB's org.omg.CORBA. The JacORB code is referring to org.omg.CORBA fields that only appear in the JacORB version of these classes, and there's no way to override libgcj's built-in version at build time.
This problem is similar to the xml-commons-apis problem we've discussed here and in bugzilla.
AG
Anthony Green wrote:
The rawhide JacORB doesn't build with gcj 4.1 because of incompatibilities between libgcj's org.omg.CORBA and JacORB's org.omg.CORBA. The JacORB code is referring to org.omg.CORBA fields that only appear in the JacORB version of these classes, and there's no way to override libgcj's built-in version at build time.
This problem is similar to the xml-commons-apis problem we've discussed here and in bugzilla.
Hmmm, I don't think that one was ever properly solved either. Do the bits with JacORB-specific calls get used in JOnAS? If not the easiest fix will be to replace them with throw new RuntimeException("Not implemented") or similar.
Cheers, Gary
Hi Anthony,
On Sun, 2005-12-11 at 17:10 -0800, Anthony Green wrote:
The rawhide JacORB doesn't build with gcj 4.1 because of incompatibilities between libgcj's org.omg.CORBA and JacORB's org.omg.CORBA. The JacORB code is referring to org.omg.CORBA fields that only appear in the JacORB version of these classes, and there's no way to override libgcj's built-in version at build time.
Which fields are these? The new org.omg code should have been BC-compiled so you are able to override it with something in an endorsed dir if you want that. But I rather fix the code in classpath/libgcj to have all the correct fields of course.
Cheers,
Mark
On Mon, 2005-12-12 at 17:56 +0100, Mark Wielaard wrote:
Which fields are these?
Here are all the errors.
AG
[javac] 19. ERROR in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/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
[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()
[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)
[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] ----------
[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()
[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] ----------
[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] ----------
[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)
[javac] 92. ERROR in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/ServantDelegate.java [javac] (at line 268) [javac] _out.write_Object(self._get_interface() ); [javac] ^^^^^^^^^^^^^^ [javac] The method _get_interface() is undefined for the type Servant
[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] ----------
[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] ----------
[javac] 105. ERROR in /usr/src/redhat/BUILD/JacORB_2_2/src/org/jacorb/orb/TypeCode.java [javac] (at line 942) [javac] kind == TCKind._tk_local_interface ) [javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^ [javac] TCKind._tk_local_interface cannot be resolved [javac] ----------
[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
[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()
[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] ----------
[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
"Anthony" == Anthony Green green@redhat.com writes:
Anthony> The JacORB code is referring to org.omg.CORBA fields that Anthony> only appear in the JacORB version of these classes, and Anthony> there's no way to override libgcj's built-in version at build Anthony> time.
At build time setting -bootclasspath or the like ought to work. At runtime, as Mark said, these classes are BC-compiled and can be overridden via extdirs.
Could you post the error message and whatnot? Maybe that would help.
Tom
On Mon, 2005-12-12 at 11:15 -0700, Tom Tromey wrote:
"Anthony" == Anthony Green green@redhat.com writes:
Anthony> The JacORB code is referring to org.omg.CORBA fields that Anthony> only appear in the JacORB version of these classes, and Anthony> there's no way to override libgcj's built-in version at build Anthony> time.
At build time setting -bootclasspath or the like ought to work.
It's not pretty, but the attached patch lets the jacorb RPM build. Presumably other java alternatives have no problem building this. I wonder why?
At runtime, as Mark said, these classes are BC-compiled and can be overridden via extdirs.
Jacorb already intalls a "java" wrapper called "jaco" that does this.
Gary - please consider adding the attached patch for jacorb.
AG
On Thu, 2005-12-15 at 09:44 +0000, Gary Benson wrote:
Anthony Green wrote:
Gary - please consider adding the attached patch for jacorb.
Add whatever you want!
While I'm happy to, I don't know how :-) I've never dealt with anything other than Extras.
Jesse - can you go ahead an add this patch?
AG
"Anthony" == Anthony Green green@redhat.com writes:
At build time setting -bootclasspath or the like ought to work.
Anthony> It's not pretty, but the attached patch lets the jacorb RPM build. Anthony> Presumably other java alternatives have no problem building this. I Anthony> wonder why?
One possible reason could be if ecj handles its classpath settings differently than other 'javac's. We had trouble with this before.
Tom
java-devel@lists.fedoraproject.org