[omniORB] Unix transport with static libraries error [patch]

Arne Pajunen apajunen.openttcn at gmail.com
Mon Jan 25 13:14:15 GMT 2010


Hi,

I encountered a problem with using Unix Transport (-ORBendPoint 
giop:unix: option) with omniORB 4.1.4 release version built as a static 
library. It seems similar to a problem encountered by Roloff Craig in 
2004 (quoted). I received the same error message when trying to start a 
program with a unix transport endpoint:

Error: Unable to create an endpoint of this description: giop:unix:

I traced this down to a missing OMNI_FORCE_LINK in giopEndpoint.cc. I've 
included a patch that adds the missing macro for unixTransportImpl. For 
the Unix transport, this fixes the problem and the static library worked 
fine.

I don't know if the other transports (ssl ?) need similar link lines, 
but since I couldn't test them I didn't include them in the patch.

Best regards,
Arne Pajunen

Software Engineer
OpenTTCN Oy

> Posted by: Roloff, Craig A
> Tue Feb 3 09:52:23 GMT 2004

> Using version 4.0.3 on an HP-UX 11 machine, setting -ORBendPoint gioP:unix: works fine
> when linked using shared libraries.  However, using static libraries produces the error message:
>
>    Error: Unable to create an endpoint of this description: giop:unix:
>
> I suspect the linker is removing the "unused" reference to unixTransportImpl.
>
> How to proceed?
>

-------------- next part --------------
--- omniORB-4.1.4-clean/src/lib/omniORB/orbcore/giopEndpoint.cc	2010-01-25 11:48:32.000000000 +0200
+++ omniORB-4.1.4/src/lib/omniORB/orbcore/giopEndpoint.cc	2010-01-25 11:45:48.000000000 +0200
@@ -107,6 +107,7 @@
 // Make sure built-in transports are always linked
 
 OMNI_FORCE_LINK(tcpTransportImpl);
+OMNI_FORCE_LINK(unixTransportImpl);
 
 
 OMNI_NAMESPACE_BEGIN(omni)



More information about the omniORB-list mailing list