Please bear with me as I am not really familiar with Solaris. I have an 11.3 box, where I installed the developer studio 12.5. Following directions at https://blogs.oracle.com/studiocpp/entry/test, I tried to build boost 1.61. It fails horribly! I get as far as:
create compiler configuration for Studio 12.4 C++03 (using Boost.Config configure) so all the fancy C++11 stuff in Boost is not yet enabled even if we compile with -std=c++11. ] cd libs/config; CXX=CC CXXFLAGS="-std=c++03 -m64" LDFLAGS="-std=c++03 -m64" sh ./configure
<< which fails. Config.log contains: configure:1959: CC -std=c++03 -m64 -std=c++03 -m64 conftest.cpp >&5 CC: Warning: Option -std=c++03 passed to ld, if ld is invoked, ignored otherwise CC: Warning: Option -std=c++03 passed to ld, if ld is invoked, ignored otherwise ld: fatal: option '-d' has illegal argument '=c++03' ld: fatal: option '-d' has illegal argument '=c++03' Removing "-std=c++03" does allow the configure process to run but not as it was intended. Building with: "./b2 --user-config=user-config.jam address-model=64 -j12 --disable-icu" gives me a lot of errors, such as those below. Below my problem description, I've pasted the build errors I noticed until I broke the build. What is the proper sequence to build boost 1.61 on Solaris? Many thanks for any help! Build output (excerpts): root@solaris:~/jearle/crypto/3rdpartySW/boost-build/boost_1_61_0# ./b2 --user-config=user-config.jam address-model=64 -j12 --disable-icu Performing configuration checks - 32-bit : yes (cached) - arm : no (cached) - mips1 : no (cached) - power : no (cached) - sparc : no (cached) - x86 : yes (cached) Building the Boost C++ Libraries. - symlinks supported : yes (cached) 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 - C++11 mutex : no (cached) - lockfree boost::atomic_flag : no (cached) warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - zlib : no (cached) - icu : no (cached) - icu (lib64) : no (cached) - 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. - compiler-supports-visibility : no (cached) - compiler-supports-ssse3 : yes (cached) - has_icu builds : no (cached) - compiler-supports-avx2 : no (cached) - gcc visibility : no (cached) - long double support : yes (cached) warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. 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 - zlib : no (cached) - 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. ... ...patience... ...found 9011 targets... ...updating 845 targets... sun.compile.c++ bin.v2/libs/wave/build/sun/release/address-model-64/link-static/threading-multi/instantiate_re2c_lexer.o CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise "./boost/detail/iterator.hpp", line 19: Error: iterator_traits is not a member of std. "./boost/wave/util/flex_string.hpp", line 128: Error: Templates can only declare classes or functions. "./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 131: Error: "," expected instead of "!=". "./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "--". "./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 131: Error: Multiple declaration for n. "./boost/wave/util/flex_string.hpp", line 131: Error: Use ";" to terminate declarations. "./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "++". "./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 131: Error: Use ";" to terminate declarations. "./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "++". "./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 131: Error: "," expected instead of ")". "./boost/wave/util/flex_string.hpp", line 135: Error: A declaration was expected instead of "return". "./boost/wave/util/flex_string.hpp", line 135: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 2538: Error: A declaration was expected instead of "}". "./boost/wave/util/flex_string.hpp", line 2539: Error: A declaration was expected instead of "}". "./boost/wave/token_ids.hpp", line 359: Error: flex_string is not a member of boost::wave::util. "./boost/wave/token_ids.hpp", line 359: Error: A declaration does not specify a tag or an identifier. "./boost/wave/token_ids.hpp", line 359: Error: Use ";" to terminate declarations. "./boost/wave/token_ids.hpp", line 359: Error: A declaration was expected instead of "<". "./boost/wave/token_ids.hpp", line 359: Error: A declaration does not specify a tag or an identifier. "./boost/wave/token_ids.hpp", line 359: Error: Use ";" to terminate declarations. "./boost/wave/token_ids.hpp", line 359: Error: A declaration was expected instead of ",". "./boost/wave/token_ids.hpp", line 359: Warning: declarator required in declaration. "./boost/wave/token_ids.hpp", line 359: Error: Use ";" to terminate declarations. "./boost/wave/token_ids.hpp", line 359: Error: A declaration was expected instead of ",". "./boost/wave/token_ids.hpp", line 359: Warning: declarator required in declaration. "./boost/wave/token_ids.hpp", line 359: Error: Use ";" to terminate declarations. "./boost/wave/token_ids.hpp", line 359: Error: A declaration was expected instead of ",". "./boost/wave/token_ids.hpp", line 359: Error: CowString is not a member of boost::wave::util. Compilation aborted, too many Error messages. ... "CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_USE_LIB=1 -DNDEBUG -I"." -c -o "bin.v2/libs/wave/build/sun/release/address-model-64/link-static/threading-multi/instantiate_re2c_lexer_str.o" "libs/wave/src/instantiate_re2c_lexer_str.cpp" ...failed sun.compile.c++ bin.v2/libs/wave/build/sun/release/address-model-64/link-static/threading-multi/instantiate_re2c_lexer_str.o... sun.compile.c++ bin.v2/libs/wave/build/sun/release/address-model-64/link-static/threading-multi/wave_config_constant.o CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise "./boost/detail/iterator.hpp", line 19: Error: iterator_traits is not a member of std. "./boost/wave/util/flex_string.hpp", line 128: Error: Templates can only declare classes or functions. "./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 131: Error: "," expected instead of "!=". "./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "--". "./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 131: Error: Multiple declaration for n. "./boost/wave/util/flex_string.hpp", line 131: Error: Use ";" to terminate declarations. "./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "++". "./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 131: Error: Use ";" to terminate declarations. "./boost/wave/util/flex_string.hpp", line 131: Error: A declaration was expected instead of "++". "./boost/wave/util/flex_string.hpp", line 131: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 131: Error: "," expected instead of ")". "./boost/wave/util/flex_string.hpp", line 135: Error: A declaration was expected instead of "return". "./boost/wave/util/flex_string.hpp", line 135: Warning: Implicit int is not supported in C++. "./boost/wave/util/flex_string.hpp", line 2538: Error: A declaration was expected instead of "}". "./boost/wave/util/flex_string.hpp", line 2539: Error: A declaration was expected instead of "}". 13 Error(s) and 5 Warning(s) detected. ... "CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DNDEBUG -I"." -c -o "bin.v2/libs/filesystem/build/sun/release/address-model-64/link-static/threading-multi/portability.o" "libs/filesystem/src/portability.cpp" ...failed sun.compile.c++ bin.v2/libs/filesystem/build/sun/release/address-model-64/link-static/threading-multi/portability.o... sun.compile.c++ bin.v2/libs/filesystem/build/sun/release/address-model-64/link-static/threading-multi/utf8_codecvt_facet.o CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise sun.compile.c++ bin.v2/libs/filesystem/build/sun/release/address-model-64/link-static/threading-multi/path.o CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise "./boost/detail/iterator.hpp", line 19: Error: iterator_traits is not a member of std. 1 Error(s) detected. ... "CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_IOSTREAMS_USE_DEPRECATED -DNDEBUG -I"." -c -o "bin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi/bzip2.o" "libs/iostreams/src/bzip2.cpp" ...failed sun.compile.c++ bin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi/bzip2.o... ...skipped <pbin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi>mapped_file.o... ...skipped <pstage/lib>libboost_iostreams.a for lack of <pbin.v2/libs/iostreams/build/sun/release/address-model-64/link-static/threading-multi>libboost_iostreams.a... sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/build-no/link-static/log-api-unix/threading-multi/named_scope.o CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise "./boost/log/utility/string_literal.hpp", line 76: Error: Too few arguments for template std::reverse_iterator<std::_Iterator, std::_Category, std::_Tt, std::_Reference, std::_Pointer, std::_Distance>. "./boost/log/attributes/named_scope.hpp", line 82: Where: While specializing "boost::log::v2s_mt_posix::basic_string_literal<char, std::char_traits<char>>". "./boost/log/attributes/named_scope.hpp", line 82: Where: Specialized in non-template code. "./boost/log/attributes/named_scope.hpp", line 219: Error: Too few arguments for template std::reverse_iterator<std::_Iterator, std::_Category, std::_Tt, std::_Reference, std::_Pointer, std::_Distance>. "./boost/log/attributes/named_scope.hpp", line 220: Error: Too few arguments for template std::reverse_iterator<std::_Iterator, std::_Category, std::_Tt, std::_Reference, std::_Pointer, std::_Distance>. "./boost/log/attributes/named_scope.hpp", line 295: Error: Cannot cast from boost::log::v2s_mt_posix::attributes::named_scope_list::iter<1> to int. "./boost/log/attributes/named_scope.hpp", line 299: Error: Cannot cast from boost::log::v2s_mt_posix::attributes::named_scope_list::iter<1> to int. "./boost/log/attributes/named_scope.hpp", line 318: Error: The operation "* int" is illegal. "libs/log/src/named_scope.cpp", line 213: Error: Cannot use void* to initialize boost::log::v2s_mt_posix::attributes::named_scope_entry*. "libs/log/src/named_scope.cpp", line 217: Error: construct is not a member of std::allocator<boost::log::v2s_mt_posix::attributes::named_scope_entry>. "libs/log/src/named_scope.cpp", line 235: Error: destroy is not a member of std::allocator<boost::log::v2s_mt_posix::attributes::named_scope_entry>. 9 Error(s) detected. ... "CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_DATE_TIME_STATIC_LINK -DDATE_TIME_INLINE -DNDEBUG -I"." -c -o "bin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi/gregorian/greg_month.o" "libs/date_time/src/gregorian/greg_month.cpp" ...failed sun.compile.c++ bin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi/gregorian/greg_month.o... ...skipped <pbin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi>libboost_date_time.a for lack of <pbin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi>gregorian/greg_month.o... ...skipped <pstage/lib>libboost_date_time.a for lack of <pbin.v2/libs/date_time/build/sun/release/address-model-64/link-static/threading-multi>libboost_date_time.a... sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/build-no/link-static/log-api-unix/threading-multi/thread_id.o CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise "libs/log/src/thread_id.cpp", line 213: Warning (Anachronism): Formal argument 2 of type extern "C" void(*)(void*) in call to pthread_key_create(unsigned*, extern "C" void(*)(void*)) is being passed void(*)(void*). 1 Warning(s) detected. sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/build-no/link-static/log-api-unix/threading-multi/severity_level.o CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise "./boost/move/unique_ptr.hpp", line 434: Error: typenamebmupd is not defined. "libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)". "libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code. "./boost/move/unique_ptr.hpp", line 434: Error: get_element_type is not defined. "libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)". "libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code. "./boost/move/unique_ptr.hpp", line 434: Error: "," expected instead of "<". "libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)". "libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code. "./boost/move/unique_ptr.hpp", line 434: Error: Illegal value for template parameter. "libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)". "libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code. "./boost/move/unique_ptr.hpp", line 434: Error: Template template-parameter boost::move_upmu::U requires a class template argument. "libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)". "libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code. "./boost/move/unique_ptr.hpp", line 434: Error: type is not a member of boost::move_upmu::missing_virtual_destructor<boost::movelib::default_delete<unsigned long>, int>. "libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)". "libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code. "./boost/move/unique_ptr.hpp", line 434: Error: value is not defined. "libs/log/src/severity_level.cpp", line 66: Where: While instantiating "boost::movelib::unique_ptr<unsigned long, boost::movelib::default_delete<unsigned long>>::unique_ptr<unsigned long*>(unsigned long*, boost::move_upmu::nat*)". "libs/log/src/severity_level.cpp", line 66: Where: Instantiated from non-template code. 7 Error(s) detected. ... ...failed sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/build-no/link-static/log-api-unix/threading-multi/syslog_backend.o... sun.compile.c++ bin.v2/libs/log/build/sun/release/address-model-64/link-static/log-api-unix/threading-multi/dump_ssse3.o CC: Warning: Option -std=c++11 passed to ld, if ld is invoked, ignored otherwise "libs/log/src/dump_ssse3.cpp", line 179: ube: error: _mm_lddqu_si128 intrinsic requires at least -xarch=sse3. CC: ube failed for libs/log/src/dump_ssse3.cpp "CC" -xO4 -mt -erroff=%none -std=c++11 -m64 -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_STATIC_LINK=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_LOG_BUILDING_THE_LIB=1 -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_WITHOUT_EVENT_LOG -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ -D__STDC_CONSTANT_MACROS -D__typeof__=__typeof__ -I"." -c -o "bin.v2/libs/log/build/sun/release/address-model-64/link-static/log-api-unix/threading-multi/dump_ssse3.o" "libs/log/src/dump_ssse3.cpp"