boost.context (coroutine(2) and fiber) do not support Solaris Studio and/or SPARC architecture

2017-02-28 7:48 GMT+01:00 Leo Carreon via Boost-users <boost-users@lists.boost.org>:
Hi,
 
According to the Boost 1.63.0 release notes, Solaris Studio 12.5 and Solaris Studio 12.5 C++11 are supported.
 
However, when I build in C++11 and C++14 modes I get the following errors during the configuration check stage of the build:
  • Possible issue with threading even when I am building with the option – threading=multi:
    error: No best alternative for libs/context/build/asm/make_x86_64_sysv_elf_gas.o
        next alternative: required properties: <threading>multi
            matched
        next alternative: required properties: <threading>multi
            matched
    error: No best alternative for libs/context/build/asm/jump_x86_64_sysv_elf_gas.o
        next alternative: required properties: <threading>multi
            matched
        next alternative: required properties: <threading>multi
            matched
    error: No best alternative for libs/context/build/asm/ontop_x86_64_sysv_elf_gas.o
        next alternative: required properties: <threading>multi
            matched
        next alternative: required properties: <threading>multi
            matched
  • Issue with ICU library detection even when I have installed the developer/icu and library/icu packages:
        - icu                      : no
        - icu (lib64)              : no
    - Boost.Locale needs either iconv or ICU library to be built.
    - Boost.Locale needs either iconv or ICU library to be built.
    - Boost.Locale needs either iconv or ICU library to be built.
    - Boost.Locale needs either iconv or ICU library to be built.
    - Boost.Locale needs either iconv or ICU library to be built.
    - Boost.Locale needs either iconv or ICU library to be built.
I also get the following errors during the build stage:
  • Issue with Boost.Fiber:
    "./boost/fiber/detail/spinlock_ttas.hpp", line 73: Error: Could not find a match for std::chrono::duration<long, std::ratio<1, 1000000>>::duration({initializer list}) needed in boost::fibers::detail::spinlock_ttas::lock().
    "./boost/fiber/detail/spinlock_ttas.hpp", line 73: Error: Initializer for constexpr variable us0 must be a constant expression.
    "./boost/fiber/detail/spinlock_ttas_adaptive.hpp", line 77: Error: Could not find a match for std::chrono::duration<long, std::ratio<1, 1000000>>::duration({initializer list}) needed in boost::fibers::detail::spinlock_ttas_adaptive::lock().
    "./boost/fiber/detail/spinlock_ttas_adaptive.hpp", line 77: Error: Initializer for constexpr variable us0 must be a constant expression.
    "./boost/fiber/context.hpp", line 341: Error: A declaration does not specify a tag or an identifier.
    "./boost/fiber/context.hpp", line 341: Error: Only non-static data members may be mutable.
    "./boost/fiber/context.hpp", line 341: Error: Use ";" to terminate declarations.
    "./boost/fiber/context.hpp", line 341: Error: "}" expected instead of "noexcept".
    "./boost/fiber/context.hpp", line 341: Error: Use ";" to terminate declarations.
    "./boost/fiber/context.hpp", line 341: Error: A declaration was expected instead of "noexcept".
    "./boost/fiber/context.hpp", line 342: Error: run_ is not defined.
    "./boost/fiber/context.hpp", line 342: Error: A template name was expected instead of 'forward'.
    "./boost/fiber/context.hpp", line 342: Error: ctx is not defined.
    "./boost/fiber/context.hpp", line 342: Error: Unexpected ")" -- Check for matching parenthesis.
    "./boost/fiber/context.hpp", line 342: Error: Operand expected instead of ",".
    "./boost/fiber/context.hpp", line 342: Error: The function "std::forward()" cannot be defined in the current scope.
    "./boost/fiber/context.hpp", line 343: Error: A declaration was expected instead of ",".
    "./boost/fiber/context.hpp", line 344: Error: Fn is not defined.
    "./boost/fiber/context.hpp", line 344: Error: A template name was expected instead of 'forward'.
    "./boost/fiber/context.hpp", line 344: Error: fn is not defined.
    "./boost/fiber/context.hpp", line 345: Error: Unexpected ")" -- Check for matching parenthesis.
    "./boost/fiber/context.hpp", line 345: Error: Operand expected instead of "}".
    "./boost/fiber/context.hpp", line 345: Error: The function "std::forward()" cannot be defined in the current scope.
    "./boost/fiber/context.hpp", line 355: Error: A declaration was expected instead of "{".
    "./boost/fiber/context.hpp", line 357: Error: No direct declarator preceding "(".
  • Issue with libs/log which happens in C++11 mode only:
    "libs/log/src/named_scope.cpp", line 118: Error: Overloading ambiguity between "boost::optional<boost::log::v2_mt_posix::attributes::named_scope_list>::operator=<boost::log::v2_mt_posix::attributes::named_scope_list&>(boost::log::v2_mt_posix::attributes::named_scope_list&)" and "boost::optional<boost::log::v2_mt_posix::attributes::named_scope_list>::operator=<boost::log::v2_mt_posix::attributes::named_scope_list&>(boost::log::v2_mt_posix::attributes::named_scope_list&)".
    1 Error(s) detected.
     
        "CC" -std=c++11 -xO4 -mt -erroff=%none -m64 -KPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_DATE_TIME_DYN_LINK=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_LOG_BUILDING_THE_LIB=1 -DBOOST_LOG_DLL -DBOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_WITHOUT_DEBUG_OUTPUT -DBOOST_LOG_WITHOUT_EVENT_LOG -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -DDATE_TIME_INLINE -DNDEBUG -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ -D__STDC_CONSTANT_MACROS -D__typeof__=__typeof__ -I"." -I"libs/log/src" -c -o "bin.v2/libs/log/build/sun/release/address-model-64/threading-multi/named_scope.o" "libs/log/src/named_scope.cpp"
     
    ...failed sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/threading-multi/named_scope.o...
  • Issue with libs/python:
    "libs/python/src/numpy/dtype.cpp", line 61: Error: NPY_FLOAT16 is not defined.
    1 Error(s) detected.
     
        "CC" -std=c++11 -xO4 -mt -erroff=%none -m64 -KPIC -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -I"/usr/include/python2.7" -I"/usr/lib/python2.7/vendor-packages/numpy/core/include" -c -o "bin.v2/libs/python/build/sun/release/address-model-64/threading-multi/numpy/dtype.o" "libs/python/src/numpy/dtype.cpp"
     
    ...failed sun.compile.c++ bin.v2/libs/python/build/sun/release/address-model-64/threading-multi/numpy/dtype.o...
Has anyone found solutions to these issues?
 
FYI, a set of libraries are still generated even after the above issues have occurred.  I’m not sure how reliable are these libraries which I assume are unaffected by the above issues.
 
Kinds regards,
Leo
 

_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users