[omniORB] OmniORB or libtool problem with MacOSX ?

Eddy Caron Eddy.Caron at ens-lyon.fr
Sun Jan 22 15:46:59 GMT 2006


	 omniorb users,

	I'm not sure if it's an omniORB problem or not. But I'm totally in  
the dark. Maybe you can help me. I compile a software using omniORB  
on Linux and on MacOSX. Everything is done on Linux. On MacOSX with  
Xcode 2.1 and the last version of omniORB from the CVS the  
compilation is done too. The problem appear when I try tyo run it.

When I try to launch the binary

aspen:~/soft/diet/lib ecaron$ ../bin/dietAgent dyld: Symbol not  
found: __ZTv0_n40_N17_impl_MasterAgent9_dispatchER14omniCallHandle
   Referenced from: /Users/ecaron/soft/diet//lib/libAgentCommon.0.dylib
   Expected in: flat namespace

Trace/BPT trap

My LD_LIBRARY_PATH is correct. Then with nm I checked this missing  
symbol.

In fact this virtual symbol is not defined with Linux or MacOSX.

libDIET_client.dylib:libDIET_client.0.0.0.dylib-master.o: 00046cf4 T  
__ZN17_impl_MasterAgent9_dispatchER14omniCallHandle
libDIET_client.dylib:libDIET_client.0.0.0.dylib-master.o: 00062bf4 S  
__ZN17_impl_MasterAgent9_dispatchER14omniCallHandle.eh
libDIET_client.dylib:libDIET_client.0.0.0.dylib-master.o: 0005558c S  
__ZTv0_n40_N17_impl_MasterAgent9_dispatchER14omniCallHandle
libDIET_client.dylib:libDIET_client.0.0.0.dylib-master.o: 00062bc4 S  
__ZTv0_n40_N17_impl_MasterAgent9_dispatchER14omniCallHandle.eh
libDIET_client.dylib:libDIET_client.0.0.0.dylib-master.o: 0005559c S  
__ZTv0_n44_N17_impl_MasterAgent9_dispatchER14omniCallHandle
libDIET_client.dylib:libDIET_client.0.0.0.dylib-master.o: 00062bdc S  
__ZTv0_n44_N17_impl_MasterAgent9_dispatchER14omniCallHandle.eh

and for Linux  :

libDIET_client.so:000000000007a680 T  
_ZN17_impl_MasterAgent9_dispatchER14omniCallHandle
libDIET_client.so:000000000007bcd0 W  
_ZTv0_n80_N17_impl_MasterAgent9_dispatchER14omniCallHandle
libDIET_client.so:000000000007bce0 W  
_ZTv0_n88_N17_impl_MasterAgent9_dispatchER14omniCallHandle

I don't understand why it's a "W" with Linux and "S" with MacOSX but  
I'm not sure that is the reason of the running problem.

Remember :
            "W" The  symbol  is  a  weak  symbol that has not been  
specifically
                tagged as a weak object symbol.  When a weak defined  
symbol  is
                linked  with a normal defined symbol, the normal  
defined symbol
                is used with no error.  When a weak undefined symbol  
is  linked
                and  the  symbol  is  not defined, the value of the  
weak symbol
                becomes zero with no error.

    "S" The symbol is  in  an  uninitialized  data  section  for   
small objects.


In fact the real symbol corresponding to the function is  
_ZN17_impl_MasterAgent9_dispatchER14omniCallHandle and is define on  
both OS.
The virtual symbol is   
ZTv0_n80_N17_impl_MasterAgent9_dispatchER14omniCallHandle with  
MacOSX  ("S") or  
__ZTv0_n44_N17_impl_MasterAgent9_dispatchER14omniCallHandle with  
Linux ("W").

But why the execution failed only on MacOSX  with the  "Expected in:  
flat namespace" error ?

Do you have any idea about this problem ? I have spent a long time to  
find an answer on many website but without success.

Best regards,
Eddy
------------------------------------------------------------------------ 
----------------------
Eddy Caron. Mcf ENS Lyon
ENS Lyon - LIP - Projet GRAAL
46 Allee d'Italie, 69364 Lyon Cedex 07, France
E-Mail : Eddy.Caron at ens-lyon.fr
[ Tel : 04.72.72.84.96 ][ Web page : http://graal.ens-lyon.fr/~ecaron ]
------------------------------------------------------------------------ 
------------------------

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20060122/e27dcc95/attachment.htm


More information about the omniORB-list mailing list