
Hi Raffi, Raffi Enficiaud wrote:
No the problem generated a compile-time failure as, by the chain of dependencies, it turned out that static and dynamic link to boost.system was requested. The faulty part was an explicit link to the static version of boost.test in the jamfile while compiling the shared variant. Since both boost.thread and boost.test depend on chrono (boost.thread directly and boost.test through timer), it ended up to a clash for the shared variant tests of boost.thread.
See https://github.com/boostorg/test/commit/1eaffb96ceec82882a4e947c99735a37271c... and https://github.com/boostorg/thread/pull/38
for further information and also for the explanation of why the source files should be changed.
In Boost.Geometry we doesn't use Thread or dynamically linked Test. In most of the tests only the following headers are included: # include <boost/test/floating_point_comparison.hpp> # include <boost/test/included/test_exec_monitor.hpp> # include <boost/test/impl/execution_monitor.ipp> plus test_main() defined. AFAIU it's not required to link against Test in this case. To be honest I'm not sure why this was ok in the past. Is Test static lib automatically built by bjam if e.g. import testing ; is found in a Jamfile? And in the past Timer was built automatically with Test but this commit have changed it https://github.com/boostorg/test/commit/fa6f4f34bed04e938b4020df51918c776b77... ? Anyway, how do you suggest libraries authors should modify the tests? What should be the best practice for tests using minimal/header-only Test. Should we just specify <library>/boost/timer//boost_timer or is there some more preferable way? Regards, Adam