[cctbxbb] Boost broken on mac?

Marcin Wojdyr wojdyr at gmail.com
Thu Apr 7 11:13:23 PDT 2016


I built cctbx on Linux with recently released Clang 3.8 and with Boost
1.59, but it didn't reproduce the problems.
tst_lbfgs_fem.py fails but it's just that two numbers in one test
differ slightly more than the allowed precision.

I don't want to go deeper into it, although the original problem that
Richard located at:

      if (f_sq > 0) f = std::sqrt(f_sq);
      else f = 0;

is interesting. It seems that sqrt is hoisted in some situations which
causes problems with -ffast-math.
I wouldn't think that compiler may speculatively run sqrt, but it
can[1], it must be sometimes faster.
[1] http://reviews.llvm.org/D2428

Marcin


PS. this is rather heavy-handed:

r24214 | rjgildea | 2016-04-07 16:42:49 +0100 (czw, 07 kwi 2016) | 1 line

A couple of dials tests crash after XCode 7.3 update with -O2 or -O3
flags set: setting -O1 optimization appears to be the only way to get
them to pass. With -O1 it is no longer necessary to use volatile
keyword in xray/conversions.h

Index: libtbx/SConscript
===================================================================
--- libtbx/SConscript   (revision 24213)
+++ libtbx/SConscript   (revision 24214)
@@ -880,7 +880,7 @@
     if (libtbx.env.build_options.optimization):
       opts = [
         "-DNDEBUG",
-        "-O3",
+        "-O1",
       ]


More information about the cctbxbb mailing list