-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
boost linking problems on Travis OSX #429
Comments
PR #430 resolves most of these. However, there's one (?) remaining, from the log
My guess is that this is related to @rijobro's removal of linking to the boost libs in SIRFreg (58f4f55). #241 (comment). (I never understood why that would have worked anyway). We could re-insert it (e.g. on OSX only) but might then be caught by the same version conflicts as above. sigh. |
As #430 seems to work, I think removing @rijobro it seems you use
|
This is no longer a pressing issue, although the general difficulties still remain. Pending #430 I guess, so I'll close this issue. |
We have linking errors now related to
boost::thread
. Excerpt from the CIL PR (but there's nothing specific to CIL here), which is a case withUSE_SYSTEM_Boost=ON
:Looking through the build log I see in many places things like
which seems quite suspicious as there's 2 different versions of Boost here. (This one was for ISMRMRD). So my guess is this is a version conflict.
I did some further digging...
Brew is doing
The Superbuild says
Note that it reported 1.66 here!
The SIRF CMakeCache.txt (printed at the end of the Travis script) has
This indicates that Boost 1.71.0 is installed with a config file, which is found by CMake (hence CMake sets
Boost_DIR
). That should in principle set the include path for the compiler appropriate. However, it can still fail if there's another Boost version in the include path set by other things.Possible work-arounds:
it might disappear if we'd force CMake to ignore Boost's config.cmake (could be done by setting
-DBoost_NO_BOOST_CMAKE=ON
) as then we might haveBOOST_ROOT
orBOOST_INCLUDEDIR
, and the correct version of boost might appear first in the compiler path, but that's a loosing strategy.upgrade CMake. it is 3.11.4 on Travis while 3.15 is available. It might magically fix it (but I don't think so).
replace
boost::thread
withstd::thread
.The latter is my vastly preferred option. Whatever tricks we play, this is going to come and bite us again and again. See also #241.
I hope this might be a rather easy exercise as Boost::thread is since a while nearly completely C++11 compatible
Of course, there might be other version conflicts still hitting us, for instance with ISMRMRD or Gadgetron, but let's hope not...
The text was updated successfully, but these errors were encountered: