Boost logo

Boost Users :

Subject: Re: [Boost-users] Building Boost 1.59.0 on Solaris 11 with Solaris Studio 12.4
From: Leo Carreon (lcarreon_at_[hidden])
Date: 2015-08-16 20:20:52


From: Leo Carreon
Sent: Sunday, August 16, 2015 8:39 PM
To: Boost Users Mailing List
Subject: Building Boost 1.59.0 on Solaris 11 with Solaris Studio 12.4

>>Hi Boosters,

>>I have been attempting to build Boost 1.59.0 on Solaris 11 using Solaris Studio 12.4 in C++11 mode.

>>So far, I have managed to locate on the web solutions to 3 issues.

>>Now I’m down to 22 targets failing to build.

>>Has anyone else attempted to do the same? I would appreciate it if you could share some of your fixes if you have any.

>>Has anyone reported that they have been able to cleanly build in this environment?

>>Kind regards,
>>Leo

This is an update of my previous mail.

I now have fixed 4 issues instead of 3.

I also had a look at the build log generated from the above. It appears that the following issues are the cause of the remaining build problems which I haven’t figured out how to resolve yet:

1. )
"libs/thread/src/pthread/thread.cpp", line 103: Error: The operation "boost::shared_ptr<boost::detail::tss_cleanup_function> && bool" is illegal.
"libs/thread/src/pthread/thread.cpp", line 144: Error: Overloading ambiguity between "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".
"libs/thread/src/pthread/thread.cpp", line 150: Error: Overloading ambiguity between "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".
"libs/thread/src/pthread/thread.cpp", line 803: Error: The operation "bool && boost::shared_ptr<boost::detail::tss_cleanup_function>" is illegal.
"libs/thread/src/pthread/thread.cpp", line 807: Error: The operation "boost::shared_ptr<boost::detail::tss_cleanup_function> || bool" is illegal.
"libs/thread/src/pthread/thread.cpp", line 817: Error: The operation "boost::shared_ptr<boost::detail::tss_cleanup_function> || bool" is illegal.

2.)
"./boost/thread/detail/nullary_function.hpp", line 125: Error: Cannot use std::shared_ptr<boost::detail::nullary_function<void()>::impl_base> to initialize bool.
"./boost/thread/detail/nullary_function.hpp", line 125: Error: An expression of scalar type was expected.

3.)
"libs/coroutine/src/posix/stack_traits.cpp", line 56: Error: Overloading ambiguity between "boost::call_once<void(&)(unsigned long*), unsigned long*>(boost::once_flag&, void(&)(unsigned long*), unsigned long*&&)" and "boost::call_once<void(*)(unsigned long*), unsigned long*>(boost::once_flag&, void(*)(unsigned long*), unsigned long*)".
"libs/coroutine/src/posix/stack_traits.cpp", line 64: Error: Overloading ambiguity between "boost::call_once<void(&)(rlimit*), rlimit*>(boost::once_flag&, void(&)(rlimit*), rlimit*&&)" and "boost::call_once<void(*)(rlimit*), rlimit*>(boost::once_flag&, void(*)(rlimit*), rlimit*)".

4.)
"./boost/proto/detail/preprocessed/make_expr_.hpp", line 73: Error: type is not a member of boost::proto::transform<boost::proto::switch_<boost::phoenix::phoenix_generator, boost::proto::tag_of<boost::proto::_>()>, void>::result<boost::phoenix::phoenix_generator(boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::assign, boost::proto::argsns_::list2<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1>>, 0>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<1>>, 0>>>, 2>)>.

5.)
"libs/python/src/converter/builtin_converters.cpp", line 474: Error: Overloading ambiguity between "std::complex<double>::complex(double, double)" and "std::complex<double>::complex(complex double[2])".
"libs/python/src/converter/builtin_converters.cpp", line 474: Error: Cannot return long from a function that should return std::complex<double>.
2 Error(s) detected.

6.)
"./boost/thread/once.hpp", line 38: Error: Overloading ambiguity between "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and "boost::call_once<void(*)()&>(boost::once_flag&, void(*)()&)".

7.)
"./boost/spirit/home/classic/core/non_terminal/impl/object_with_id.ipp", line 145: Error: Overloading ambiguity between "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".

8.)
"./boost/spirit/home/classic/phoenix/closures.hpp", line 427: Error: Overloading ambiguity between "boost::call_once<void(*)()>(boost::once_flag&, void(*)())" and "boost::call_once<void(&)()>(boost::once_flag&, void(&)())".

These remaining issues are preventing me from building my own library because it depends on some of the Boost libraries that are still failing to build.
 



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net