Opened 8 years ago
Last modified 8 years ago
#10784 new Bugs
Error compiling syslog_backend with icc-11.1.064
Reported by: | Owned by: | chris_kohlhoff | |
---|---|---|---|
Milestone: | To Be Determined | Component: | asio |
Version: | Boost 1.56.0 | Severity: | Problem |
Keywords: | Cc: | Andrey.Semashev@… |
Description
I am trying to compile boost 1.56.0 with icc-11.1.064 on ubuntu 12.04. That specific compiler is needed for compatibility with existing code.
It's failing with this error:
./boost/asio/detail/keyword_tss_ptr.hpp(62): error: template argument list must match the parameter list
BOOST_ASIO_THREAD_KEYWORD T* keyword_tss_ptr<T>::value_;
compilation aborted for libs/log/src/syslog_backend.cpp (code 2)
"icpc" -c -xc++ -w1 -inline-level=2 -O3 -ip -pthread -fPIC -fPIC -wd177,780,2196,1782,193,304,981,1418,411,734,279 -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_DATE_TIME_DYN_LINK=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_HAS_ICU=1 -DBOOST_LOG_BUILDING_THE_LIB=1 -DBOOST_LOG_DLL -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_USE_SSSE3 -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_GNU_SOURCE=1 -D_XOPEN_SOURCE=600 -I"." -I"/usr/include" -c -o "bin.v2/libs/log/build/intel-linux/release/build-no/log-api-unix/threading-multi/syslog_backend.o" "libs/log/src/syslog_backend.cpp"
...failed intel-linux.compile.c++ bin.v2/libs/log/build/intel-linux/release/build-no/log-api-unix/threading-multi/syslog_backend.o... intel-linux.compile.c++ bin.v2/libs/log/build/intel-linux/release/build-no/log-api-unix/threading-multi/threadsafe_queue.o intel-linux.compile.c++ bin.v2/libs/log/build/intel-linux/release/build-no/log-api-unix/threading-multi/trivial.o
If I compile with 'define=BOOST_LOG_WITHOUT_SYSLOG' then it builds successfully but I'd like to have the syslog backend support available. Any help would be much appreciated.
Change History (1)
comment:1 by , 8 years ago
Cc: | added |
---|---|
Component: | log → asio |
Owner: | changed from | to
This looks like a compiler bug to me, or it doesn't actually support the
__thread
keyword ASIO uses. I cannot work around it in Boost.Log, so I'm reassigning the ticket to Boost.ASIO.In the meantime you can try compiling Boost.Log with BOOST_LOG_NO_ASIO defined. You will only be able to use native syslog API.