Opened 9 years ago

Closed 7 years ago

#9417 closed Bugs (obsolete)

Boost 1.55.0 doesn't compile on icc13 with c++11

Reported by: Richard Geary <richardg.work@…> Owned by: Gennadiy Rozental
Milestone: Boost 1.59.0 Component: test
Version: Boost 1.55.0 Severity: Showstopper
Keywords: c++11 icc Cc: richardg.work@…

Description

I get the following compile error when building boost with icc13 with c++11 :

"icpc13" -c -xc++ -gcc-name=gcc47 -gxx-name=g++47 -w2 -inline-level=2 -O3 -ip -pthread -std=c++11 -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "/spare/local1/rgeary/boostSrc-1.55.0/build-icc13-c++11-release-multi/boost/bin.v2/libs/test/build/intel-linux/release/link-static/threading-multi/exception_safety.o" "libs/test/src/exception_safety.cpp" ./boost/test/utils/trivial_singleton.hpp(40): error #453: protected function "boost::noncopyable_::noncopyable::noncopyable()" (declared at line 27 of "./boost/noncopyable.hpp") is not accessible through a "boost::noncopyable_::noncopyable" pointer or object

singleton() {}

detected during instantiation of "boost::unit_test::singleton<Derived>::singleton() [with Derived=boost::unit_test::unit_test_log_t]" at line 131 of "./boost/test/unit_test_log.hpp"

Applying this patch (http://lists.boost.org/boost-commit/2013/08/47074.php), I subsequently get this error :

$ "icpc13" -c -xc++ -gcc-name=gcc47 -gxx-name=g++47 -w2 -inline-level=2 -O3 -ip -pthread -std=c++11 -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"." -c -o "/spare/local1/rgeary/boostSrc-1.55.0/build-icc13-c++11-release-multi/boost/bin.v2/libs/test/build/intel-linux/release/link-static/threading-multi/ex ception_safety.o" "libs/test/src/exception_safety.cpp"

./boost/test/unit_test_log.hpp(131): error #453: protected function "boost::unit_test::singleton<Derived>::singleton() [with Derived=boost::unit_test::unit_test_log_t]" (declared at line 42 of "./boost/test/utils/trivial_singleton.hpp") is not accessible through a "boost::unit_test::singleton<boost::unit_test::unit_test_log_t>" pointer or object

BOOST_TEST_SINGLETON_CONS( unit_test_log_t );

I'm building on rhel5 with gcc47 from devtoolset1.1.

Change History (6)

comment:1 by Richard Geary <richardg.work@…>, 9 years ago

Update : I see that the 1.55.0 release notes specify support for ICC 13.0.1, but for other compilers they explicitly state they support c++11.

Does this mean that boost 1.55.0 is explicitly not supported for icc with c++11? ICC 14.0.1's C++11 support is much improved on icc 13.1.1. Will this be supported in the next version?

Thanks!

comment:2 by Richard Geary <richardg.work@…>, 9 years ago

Cc: richardg.work@… added
Keywords: c++11 icc added
Severity: ProblemShowstopper

For the thread :

Boost 1.55.0 builds with these configurations : icc 13.1.1 c++03, icc 14.0.1 c++03, icc 14.0.1 c++11

Boost 1.55.0 does not build with : icc 13.1.1 c++11

comment:3 by viboes, 9 years ago

Could you try this

singleton() : noncopyable() {}

comment:4 by anonymous, 9 years ago

Thanks, this fixed it. There are a lot of other classes in boost which inherit from noncopyable, and this fix needs to be made for each class.

comment:5 by viboes, 9 years ago

Component: Building Boosttest
Owner: set to Gennadiy Rozental

Please create a ticket for each library.

comment:6 by Gennadiy Rozental, 7 years ago

Milestone: To Be DeterminedBoost 1.59.0
Resolution: obsolete
Status: newclosed

Please resubmit for most recent develop state, if this is outstanding

Note: See TracTickets for help on using tickets.