On 10/3/2015 3:15 PM, Raffi Enficiaud wrote:
Le 03/10/15 16:21, Tim Blechmann a écrit :
All tests for lockfree in both master and develop branch seem to fail. Error message is
"../boost/system/config.hpp", line 34: Error: #error Must not define both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK.
See develop branch: http://www.boost.org/development/tests/develop/developer/lockfree.html
See master branch: http://www.boost.org/development/tests/master/developer/lockfree.html
I looked at lockfree/test/Jamfile.v2 but am not sure what change needs to be made.
Any suggestions?
boost lockfree's testsuite hasn't changed for a long time. i have no idea why the tests are failing, so something must have changed in boost.test.
[snip]
---
fwiw, maybe one of the boost.test developers has an understanding, what's going on there? unfortunately i don't really have a lot of time to look into this atm ...
thanks a lot, tim
Me again,
So, if I change lockfree/test/Jamfile.v2 - <library>../../test/build//boost_test_exec_monitor + <library>../../test/build//boost_unit_test_framework
I can compile it with C++11 support without any issue:
../../../b2 -j8 toolset=clang cxxflags="-stdlib=libc++ -std=c++11" linkflags="-stdlib=libc++"
I cannot compile it though without C++11 support for 2 reasons: - in lockfree commit 9f52c24 unconditionally uses <atomic>, but this one is available only with C++11 support - in boost.test, references to C++11 jargon.
For boost.test, Gennadiy and me have to come up with a solution.
First, Boost Test can not require C++11 support. if you want to create a Boost Test which does require C++11 support make a Boost Test2 or whatever you want to call your new library that requires C++11 support. Others have said the same thing. It is beyond me how you or Gennadiy arbitrarily decided that libraries using Boost Test must run with C++11 support when you both know that there are many Boost libraries that do not require or need C++11, and these libraries use Boost Test. Second, if lockfree requires C++11 support and it tries to compile without it, then that is lockfree's problem and not Boost Test's problem.