id summary reporter owner description type status milestone component version severity resolution keywords cc 12457 cannot compile log with Oracle Developer Studio 12.5 Aparna Kumta Andrey Semashev "Compiling Boost.log with Oracle Developer Studio 12.5, we see the following failure: % ""CC"" -std=c++11 -library=stdcpp,CrunG3 -xO4 -mt -erroff=%none -m32 -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_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/stdlib-gnu/threading-multi/posix/ipc_reliable_message_queue.o"" ""../../../libs/log/src/posix/ipc_reliable_message_queue.cpp"" ""../../../libs/log/src/posix/ipc_reliable_message_queue.cpp"", line 61: Error: #error Boost.Log: Native 32-bit atomic operations are required but not supported by Boost.Atomic on the target platform. This seems to be a configuration issue. The following changes seems to work: 1) In boost/atomic/detail/platform/platform.hpp % !diff diff ./platform.hpp ./platform.hpp_orig 46c46 < #elif (defined(__GNUC__) || (__SUNPRO_CC >= 0x5130)) && (defined(__i386__) || defined(__x86_64__)) --- > #elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) 68c68 < #elif (defined(__GNUC__) || (__SUNPRO_CC >= 0x5130)) && defined(__sparc) --- > #elif defined(__GNUC__) && defined(__sparc_v9__) The above change causes the compilation to proceed further, however, it fails again with another configuration issue causing failure to build atomic library ""CC"" -std=c++11 -library=stdcpp,CrunG3 -xO4 -mt -erroff=%none -m32 -KPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_ATOMIC_SOURCE -DNDEBUG -I""../../.."" -c -o ""../../../bin.v2/libs/atomic/build/sun/release/stdlib-gnu/threading-multi/lockpool.o"" ""../../../libs/atomic/src/lockpool.cpp"" ""../../../boost/atomic/detail/ops_gcc_sparc.hpp"", line 69: Error: The function ""fence_before_store"" must have a prototype. In boost/atomic/detail/ops_gcc_sparc.hpp, the following change seems to resolve the issue % !diff % diff ./ops_gcc_sparc.hpp ./ops_gcc_sparc.hpp_orig 69c69 < fence_before(order); --- > fence_before_store(order); 71c71 < fence_after(order); --- > fence_after_store(order); 110c110 < fence_before(order); --- > base_type::fence_before(order); 118c118 < fence_after(order); --- > base_type::fence_after(order); The changes above successfully compiles the log sources." Bugs closed To Be Determined atomic Boost 1.62.0 Problem fixed