Discussion:
compile error with certain configure options
Daren Scot Wilson
2010-07-22 06:44:51 UTC
Permalink
I'm trying to build MICO for use by another app. Gcc (or clang) give me
the error below. I'm not eager to dive into the source to figure out
things; my only knowledge of CORBA is how to spell it! Is there something
obvious wrong with my configure command or some wrong-version tool? I'm
curious about the results of using the two options shown, but they're not
life or death necessary. Does this compile error indicate a flaw in the
source or build system?

I've got gcc (GCC) 4.5.0 20100610 working on MICO 2.3.13 freshly downloaded
from sourceforge, running on Arch linux x86 64bit. Not sure what
additional info would help.


./configure CC=clang --enable-final --enable-ccm

make outputs:

....
In file included from orb_all.cc:81:0:
security/csiv2_impl.cc: In member function 'void
CSIv2::CSS_impl::create_csi_creds(const SL3PM::PrincipalName&,
CORBA::Boolean, const SL3PM::PrincipalName&, CORBA::Boolean, const
CSI::AuthorizationToken&, CORBA::Object*, const char*)':
security/csiv2_impl.cc:808:6: error: reference to 'Principal_var' is ambiguous
../include/mico/security/sl3pm.h:194:31: error: candidates are: typedef
class ValueVar<SL3PM::Principal> SL3PM::Principal_var
... more errors including some just like this....
--
Daren Scot Wilson
Socorro, New Mexico
Karel Gardas
2010-07-31 21:22:29 UTC
Permalink
Hi,

it looks like --enable-final is broken in 2.3.13 release. Could you be
so kind and test the latest development source code? I fixed that few
months ago. I guess darcs is available for you on Arch linux and then
this is just a single command and ./bootstrap.sh (which requires
autoconf 2.13 installed) and you can test what will become 2.3.14 release.
Also no one attempted using clang on MICO sources yet, so you are the
first. W.r.t. GCC 4.5.0 I can just tell you that for this head devel
sources are required because of following fix:

Sun Jan 3 18:59:34 CET 2010 Karel Gardas <***@objectsecurity.com>
* fix "miscompilation" of typecode.cc by GNU C++ >= 4.4
This patch fixes typecode.cc to not use TK_RECURSIVE definition since
this makes GNU C++ >= 4.4 miscompiling several of typecode.cc's switch
statements where it simply omits case blocks where TK_RECURSIVE is
used, since TK_RECURSIVE provides value which is not defined in the
TCKind enum type. Whole behaviour is completed by emitted warnings:
typecode.cc:<line>: warning: case label value is less than minimum
value for type
Unfortunatelly GCC community members claim the compiler is right here
so I enhanced tckind.h by a provided bootstrap patch to include
tk_recursive value inside the TCKind enum definition which makes GNU
C++ happy and resulting MICO working again. For more information about
this issue see GCC PR#42576
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42576)

Cheers,
Karel
Post by Daren Scot Wilson
I'm trying to build MICO for use by another app. Gcc (or clang) give me
the error below. I'm not eager to dive into the source to figure out
things; my only knowledge of CORBA is how to spell it! Is there something
obvious wrong with my configure command or some wrong-version tool? I'm
curious about the results of using the two options shown, but they're not
life or death necessary. Does this compile error indicate a flaw in the
source or build system?
I've got gcc (GCC) 4.5.0 20100610 working on MICO 2.3.13 freshly downloaded
from sourceforge, running on Arch linux x86 64bit. Not sure what
additional info would help.
./configure CC=clang --enable-final --enable-ccm
....
security/csiv2_impl.cc: In member function 'void
CSIv2::CSS_impl::create_csi_creds(const SL3PM::PrincipalName&,
CORBA::Boolean, const SL3PM::PrincipalName&, CORBA::Boolean, const
security/csiv2_impl.cc:808:6: error: reference to 'Principal_var' is ambiguous
../include/mico/security/sl3pm.h:194:31: error: candidates are: typedef
class ValueVar<SL3PM::Principal> SL3PM::Principal_var
... more errors including some just like this....
--
Karel Gardas ***@objectsecurity.com
ObjectSecurity Ltd. http://www.objectsecurity.com
Loading...