Skip to content

External Build Fixes, 1.0 branch (2018.03.15.)

This is a tricky one. I now updated a lot (but not all) external projects to build out-of-source, and to completely wipe their previous builds when a new source tarball needs to be downloaded/used for the compilation.

The issue triggering these updates first showed up in !251 (merged). While updating ROOT to build a newer version, it became clear that the build system was not handling this update correctly. So I opened:

https://sft.its.cern.ch/jira/browse/ROOT-9304

As first I thought that all the blame for this would lie with the ROOT build configuration. But turns out, no. This was due to a much deeper rooted issue with how ExternalProject_Add works. Which I complained about in:

https://cmake.org/pipermail/cmake/2018-March/067203.html

As a result, to make sure that when I try to include the latest version of the 1.0 branch into atlas/athena's 21.2 branch, the CI would have a chance of succeeding, I now went through all externals, and updated the ones that were easy enough to update.

Note that I left out a few "offline only" packages that didn't seem super urgent to update this way. Also note that this "trick" of mine can only be used on externals that can be built out-of-source. And a surprising number of them can't. Most notably Boost can just not be built out-of-source. (I tried for quite a bit today...) I also brought this up with the FastJetContrib developers, but it's not clear when/if we'll get the possibility of compiling fjcontrib out-of-source.

Finally, while updating the packages, I found that a couple of configuration script were not made re-locatable yet. This MR tries to fix those as well.

Merge request reports