Problem compiling xmltooling 1.5.0 in Solaris
Landon Thomas
lthomas at cs.umn.edu
Fri Aug 17 17:25:19 EDT 2012
I'm getting this compile error with xmltooling-1.5.0 in Solaris 5.10:
---
source='io/AbstractXMLObjectUnmarshaller.cpp'
object='libxmltooling_lite_la-AbstractXMLObjectUnmarshaller.lo'
libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../build-aux/depcomp \
/bin/bash ../libtool --silent --tag=CXX --mode=compile CC
-DHAVE_CONFIG_H -I. -I.. -DXMLTOOLING_LITE -I/opt/local/include
-I/export/apache/shibboleth/xml-security-c/1.7.0/include
-I/export/apache/shibboleth/xerces-c/3.1.1/include
-I/export/apache/shibboleth/log4shib/1.0.5/include -mt -D_REENTRANT -g
-D_POSIX_PTHREAD_SEMANTICS -I/opt/local/include/boost-1_37
-I/export/apache/openssl/0.9.8r-for-shibboleth/include -mt -D_REENTRANT
-g -D_POSIX_PTHREAD_SEMANTICS -Qoption ccfe
-stabs=no%dfltlit+no%dflthlp -c -o
libxmltooling_lite_la-AbstractXMLObjectUnmarshaller.lo `test -f
'io/AbstractXMLObjectUnmarshaller.cpp' || echo
'./'`io/AbstractXMLObjectUnmarshaller.cpp
source='io/HTTPRequest.cpp'
object='libxmltooling_lite_la-HTTPRequest.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../build-aux/depcomp \
/bin/bash ../libtool --silent --tag=CXX --mode=compile CC
-DHAVE_CONFIG_H -I. -I.. -DXMLTOOLING_LITE -I/opt/local/include
-I/export/apache/shibboleth/xml-security-c/1.7.0/include
-I/export/apache/shibboleth/xerces-c/3.1.1/include
-I/export/apache/shibboleth/log4shib/1.0.5/include -mt -D_REENTRANT -g
-D_POSIX_PTHREAD_SEMANTICS -I/opt/local/include/boost-1_37
-I/export/apache/openssl/0.9.8r-for-shibboleth/include -mt -D_REENTRANT
-g -D_POSIX_PTHREAD_SEMANTICS -Qoption ccfe
-stabs=no%dfltlit+no%dflthlp -c -o libxmltooling_lite_la-HTTPRequest.lo
`test -f 'io/HTTPRequest.cpp' || echo './'`io/HTTPRequest.cpp
"io/HTTPRequest.cpp", line 47: Error: Could not find
std::__reverse_bi_iterator<__rwstd::__rb_tree<float, std::pair<const
float, std::vector<std::basic_string<unsigned short> >>,
__rwstd::__select1st<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, float>,
std::less<float>, std::allocator<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>>>::const_iterator,
std::bidirectional_iterator_tag, std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, const std::pair<const
float, std::vector<std::basic_string<unsigned short> >>&, const
std::pair<const float, std::vector<std::basic_string<unsigned short>
>>*,
int>::__reverse_bi_iterator(std::__reverse_bi_iterator<__rwstd::__rb_tree<float,
std::pair<const float, std::vector<std::basic_string<unsigned short> >>,
__rwstd::__select1st<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, float>,
std::less<float>, std::allocator<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>>>::iterator,
std::bidirectional_iterator_tag, std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, std::pair<const float,
std::vector<std::basic_string<unsigned short> >>&, std::pair<const
float, std::vector<std::basic_string<unsigned short> >>*, int>) to
initialize m_langRangeIter.
"io/HTTPRequest.cpp", line 159: Warning (Anachronism): Assigning
std::__reverse_bi_iterator<__rwstd::__rb_tree<float, std::pair<const
float, std::vector<std::basic_string<unsigned short> >>,
__rwstd::__select1st<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, float>,
std::less<float>, std::allocator<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>>>::iterator,
std::bidirectional_iterator_tag, std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, std::pair<const float,
std::vector<std::basic_string<unsigned short> >>&, std::pair<const
float, std::vector<std::basic_string<unsigned short> >>*, int> to
std::__reverse_bi_iterator<__rwstd::__rb_tree<float, std::pair<const
float, std::vector<std::basic_string<unsigned short> >>,
__rwstd::__select1st<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, float>,
std::less<float>, std::allocator<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>>>::const_iterator,
std::bidirectional_iterator_tag, std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, const std::pair<const
float, std::vector<std::basic_string<unsigned short> >>&, const
std::pair<const float, std::vector<std::basic_string<unsigned short>
>>*, int>.
"io/HTTPRequest.cpp", line 159: Error: Cannot cast from
std::__reverse_bi_iterator<__rwstd::__rb_tree<float, std::pair<const
float, std::vector<std::basic_string<unsigned short> >>,
__rwstd::__select1st<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, float>,
std::less<float>, std::allocator<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>>>::iterator,
std::bidirectional_iterator_tag, std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, std::pair<const float,
std::vector<std::basic_string<unsigned short> >>&, std::pair<const
float, std::vector<std::basic_string<unsigned short> >>*, int> to
std::__reverse_bi_iterator<__rwstd::__rb_tree<float, std::pair<const
float, std::vector<std::basic_string<unsigned short> >>,
__rwstd::__select1st<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, float>,
std::less<float>, std::allocator<std::pair<const float,
std::vector<std::basic_string<unsigned short> >>>>::const_iterator,
std::bidirectional_iterator_tag, std::pair<const float,
std::vector<std::basic_string<unsigned short> >>, const std::pair<const
float, std::vector<std::basic_string<unsigned short> >>&, const
std::pair<const float, std::vector<std::basic_string<unsigned short>
>>*, int>.
2 Error(s) and 1 Warning(s) detected.
make[3]: *** [libxmltooling_lite_la-HTTPRequest.lo] Error 1
make[3]: Leaving directory
`/export/apache/src/shibboleth/xmltooling-1.5.0/xmltooling'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/export/apache/src/shibboleth/xmltooling-1.5.0/xmltooling'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/export/apache/src/shibboleth/xmltooling-1.5.0'
make: *** [all] Error 2
---
When I use the same compiler:
lthomas at research (/export/apache/src/shibboleth/xmltooling-1.5.0) % cc -V
cc: Sun C 5.9 SunOS_sparc Patch 124867-01 2007/07/12
usage: cc [ options] files. Use 'cc -flags' for details
with the same environment in xmltooling 1.4.2, it compiles fine. I
literally just cd from the xmltooling-1.4.2 directory to
xmltooling-1.5.0 and run the same configure line:
'./configure' '--prefix=/export/apache/shibboleth/xmltooling/1.5.0'
'--with-log4shib=/export/apache/shibboleth/log4shib/1.0.5'
'--with-xerces=/export/apache/shibboleth/xerces-c/3.1.1'
'--with-xmlsec=/export/apache/shibboleth/xml-security-c/1.7.0'
'--with-openssl=/export/apache/openssl/0.9.8r-for-shibboleth' -C
followed by make and 1.4.2 works and 1.5.0 gets the above error. Every
dependency in that configure line was also compiled with that same Sun
'cc' compiler.
xmltooling-1.5.0 does compile if I compile all the dependencies and
xmltooling with GCC 4.5.2, but that creates version conflicts when I get
to compiling OpenSAML and GCC is less than optimal for my Apache
environment. I'm currently using xmltooling-1.4.2/shibboleth-2.4.3
(compiled via Sun's cc) in production.
There seems to be some change in code that breaks my compiler from 1.4.2
to 1.5.0. Any ideas? Let me know if you want me to file a bug report.
lthomas at research (/export/apache/src/shibboleth/xmltooling-1.5.0) % uname -a
SunOS research 5.10 Generic_142900-03 sun4v sparc
SUNW,SPARC-Enterprise-T5120 Solaris
Thanks,
Landon
More information about the users
mailing list