[omniORB] Linking CORBA application on amd64 fails
Jari Lappalainen
jari.lappalainen at iki.fi
Fri Sep 30 10:05:23 BST 2005
I built successfully omniORB 4.0.6 on an amd64 (gcc 3.4.4, linux gentoo
2.6.12).
Thank you all for making it work so easily.
I also compiled my application fine. But linking my application fails:
stubSK.cpp:527: undefined reference to `omni::omniExHelper::UNKNOWN(char
const*, int, unsigned long, CORBA::CompletionStatus)'
I get several of these - one for each call descriptor to a function that
declares user exceptions with 'raises'
in idl file.
The compile flags I was using are the same I used on x86:
-D__OMNIORB4__ -D__linux__ -D__x86__ -D__OSVERSION__=2 -D_REENTRANT
(When compiling the omni examples in src/examples, which went fine
including linking, I noticed
__x86__ wasn't among the g++ macros. But removing it from my compile did
not work.)
Looking at /usr/local/lib64/libomniORB4.a with nm --demangle shows
0000000000003210 T omni::omniExHelper::UNKNOWN(char const*, int,
unsigned int, CORBA::CompletionStatus)
which differs with the definition of the third parameter. In the source,
the type of the third argument to omni::omniExHelper::UNKNOWN is
CORBA::ULong.
Looking at previous posts I can see others are managing on x86_64 for
some time now.
Any thoughts what is it that I do wrong?
Jari Lappalainen
More information about the omniORB-list
mailing list