On 12/19/22 11:35 AM, Barak Raveh wrote: > At least on my Mac installation, conda's gcc package seems to be > broken.
Are you sure you have the latest versions of everything? IMP built just fine on Mac with conda-forge just 4 days ago, e.g. https://dev.azure.com/conda-forge/84710dde-1620-425b-80d0-4cf5baca359d/_apis...
> a conflict between conda's boost::mt19337::min()/max() functions and > llvm's std::shuffle(), which requires them to return a constexpr (this > was fixed in the latest boost versions)
Yes, we had the same issue with Ubuntu, which has an older Boost: https://github.com/salilab/imp/commit/f1b873faeee
But this issue was fixed in Boost 1.75 and if you're using conda-forge you should have 1.78 as the IMP conda-forge package is pinned: https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recip...
> I tested for speed, and std::mt19337 is as fast or even faster on my > mac. This is the change, l did not dare to check it in. Let me know if > you think we should stick with the boost version or try to add this > change
Looks like your proposed change only affects clang builds. If we're going to switch to std::mt19337 we should just do so on all platforms, since IMP requires C++11 anyway. If there are some weird platforms where it doesn't work, we can always #ifdef it there and fall back to Boost.
Ben