[C++-sig] Solaris build errors

David Abrahams dave at boost-consulting.com
Tue Jan 14 18:56:34 CET 2003


Bruce Lowery <bruce_lowery at yahoo.com> writes:

> In building the CVS version (as of Sun 2003-01-12) of boost.python library on
> solaris using v6.2.p2 of the sunpro compiler, two compile-time errors occur,
> one in 'cast.hpp' and the other in 'inheritance.hpp'. Details are below.
>
> --bruce

I think you should report these to Sun.  

I'm really surprised you only see two errors.  The last time I tried
to get Boost libraries to work with a released Sun compiler (a couple
of months ago), I was able to make Sun pass around 50% of all boost
regression tests.  It's ability to handle standard C++ constructs was
so bad that I don't think there's any hope of getting it to work with
Boost.Python.

I've heard reports that their pre-release compiler implements a lot of
bug fixes needed to work with Boost.  Is that what you're using?  If
so, I still don't have access to this compiler so it's unlikely I'll
be able to come up with a workaround for its bugs.  If you come up
with something that makes it work, pleas submit a patch!

-Dave


> ----------------- 1 --------------------
>
> boost/boost/python/cast.hpp: line 65: 
> Error: Default arguments cannot be added in later 
> declarations of the template function in 
> the same scope.
>
> 57 template <class Target, class Source>
> 58 inline Target* downcast(Source* p, yes_convertible)
> 59 {
> 60 return static_cast<Target*>(p);
> 61 }
> 62
> 63 template <class Target, class Source>
> 64 inline Target* downcast(Source* p, no_convertible, 
> boost::type<Target>* = 0)
> ***
> 65 {
> ***
> 66 typedef typename base_type_traits<Source>::type base;
> 67 return (Target*)detail::downcast<base>(p, 
> convertible<Source*>::check((base*)0));
> 68 }
>
>
> ----------------- 2 --------------------
>
> boost/boost/python/object/inheritance.hpp: line 134: 
> Error: ")" expected instead of ">".
>
>
> 130 template <class Source, class Target>
> 131 inline void register_conversion(
> 132 // We need this parameter because CWPro7 can't determine
> 133 // which is the base reliably.
> ***
> 134 bool is_downcast = !cast_generator<Source,Target>::is_upcast
> ***
> 132
> 133 // These parameters shouldn't be used, they're an MSVC bug 
> workaround
> 134 , Source* = 0, Target* = 0)
> 135 {
> 136 typedef typename cast_generator<Source,Target>::type 
> generator;
> 137 
> 138 add_cast(python::type_id<Source>()
> 139 , python::type_id<Target>()
> 140 , &generator::execute
> 141 , is_downcast);
> 142 }
>
>
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
>
> _______________________________________________
> C++-sig mailing list
> C++-sig at python.org
> http://mail.python.org/mailman/listinfo/c++-sig
>

-- 
                       David Abrahams
   dave at boost-consulting.com * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution





More information about the Cplusplus-sig mailing list