[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