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_ptrboost::detail::tss_cleanup_function && bool" is illegal.
"libs/thread/src/pthread/thread.cpp", line 144: Error: Overloading ambiguity between "boost::call_once(boost::once_flag&, void(*)())" and "boost::call_once(boost::once_flag&, void(&)())".
"libs/thread/src/pthread/thread.cpp", line 150: Error: Overloading ambiguity between "boost::call_once(boost::once_flag&, void(*)())" and "boost::call_once(boost::once_flag&, void(&)())".
"libs/thread/src/pthread/thread.cpp", line 803: Error: The operation "bool && boost::shared_ptrboost::detail::tss_cleanup_function" is illegal.
"libs/thread/src/pthread/thread.cpp", line 807: Error: The operation "boost::shared_ptrboost::detail::tss_cleanup_function || bool" is illegal.
"libs/thread/src/pthread/thread.cpp", line 817: Error: The operation "boost::shared_ptrboost::detail::tss_cleanup_function || bool" is illegal.
2.)
"./boost/thread/detail/nullary_function.hpp", line 125: Error: Cannot use std::shared_ptr::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(boost::once_flag&, void(&)(unsigned long*), unsigned long*&&)" and "boost::call_once(boost::once_flag&, void(*)(unsigned long*), unsigned long*)".
"libs/coroutine/src/posix/stack_traits.cpp", line 64: Error: Overloading ambiguity between "boost::call_once(boost::once_flag&, void(&)(rlimit*), rlimit*&&)" and "boost::call_once(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::transformboost::proto::_()>, void>::result>, 0>, boost::phoenix::actor>, 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(boost::once_flag&, void(*)())" and "boost::call_once(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(boost::once_flag&, void(*)())" and "boost::call_once(boost::once_flag&, void(&)())".
8.)
"./boost/spirit/home/classic/phoenix/closures.hpp", line 427: Error: Overloading ambiguity between "boost::call_once(boost::once_flag&, void(*)())" and "boost::call_once(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.