certi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [certi-dev] Solaris10/SunStudio


From: Eric Noulard
Subject: Re: [certi-dev] Solaris10/SunStudio
Date: Mon, 18 May 2009 22:42:43 +0200

2009/5/18 Martin Spott <address@hidden>:
> Hi,
> I'm randomly lurking into the various projects which are somehow
> related to FlightGear - today this is CERTI  :-)

What a good choice :-)

> The latest release happened when I was on vacation and today I'm trying
> to refresh the CERTI installation on The Sun. Compiling works almost
> fine - except from one error ....  would anyone mind looking at the
> following message (long line!):
>
> [ 67%] Building CXX object RTIG/CMakeFiles/rtig.dir/Federation.o
>
> /opt/SUNWspro/bin/CC  -xO2 -xarch=v9 -xtarget=ultra2 -xprefetch=auto  -g
>  -I/usr/include/libxml2 -I/usr/local/src/certi/include -I/usr/local/src/certi
>  -I/usr/local/src/certi/libCERTI -I/usr/local/src/certi/libRTI
>  -DHOST_IS_BIG_ENDIAN -DHAVE_CONFIG_H=1 -DHAVE_XML -DRTI_USES_STD_FSTREAM
>  -o RTIG/CMakeFiles/rtig.dir/Federation.o -c 
> /usr/local/src/certi/RTIG/Federation.cc
> "/usr/local/src/certi/RTIG/Federation.cc", line 1848: Error: Could not find a 
> match for std::vector<unsigned long>::vector(__rwstd::__rb_tree<unsigned 
> long, unsigned long, __rwstd::__ident<unsigned long, unsigned long>, 
> std::less<unsigned long>, std::allocator<unsigned long>>::const_iterator, 
> __rwstd::__rb_tree<unsigned long, unsigned long, __rwstd::__ident<unsigned 
> long, unsigned long>, std::less<unsigned long>, std::allocator<unsigned 
> long>>::const_iterator) needed in 
> certi::rtig::Federation::subscribeObject(unsigned long, unsigned long, 
> std::vector<unsigned long>&, unsigned short).
> 1 Error(s) detected.

I'll try to look into it tomorrow or may be wednesday.
This is definitely an STL issue.
You know the 'S' of Standard Template Library is just a plain lie :-)
May be SUN STL implementation is lacking the copy constructor from iterator???

In the meantime, would you mind trying to replace:
// broadcastSomeMessage needs a vector, no set -> conversion
 vector<FederateHandle>
federate_vector(federate_set.begin(),federate_set.end());

by:
// broadcastSomeMessage needs a vector, no set -> conversion
vector<FederateHandle> federate_vector(federate_set.size());
std::copy(federate_set.begin(),federate_set.end(),federate_vector.begin());


-- 
Erk




reply via email to

[Prev in Thread] Current Thread [Next in Thread]