Skip to content

ROOT Build Fixes, 1.0 branch (2019.01.24.)

While looking at some new build failures of ROOT in AnalysisBaseExternals-21.2 in our CI system, I found that we've been building ROOT incorrectly ever since we switched to 6.14/XX. 😦

It turns out that in 6.14/XX ROOT changed the implementation of their FindDavix.cmake module. It no longer respects the DAVIX_DIR cache variable as it did in 6.12/XX. (https://github.com/root-project/root/blob/v6-12-06/cmake/modules/FindDavix.cmake)

Since the new implementation only respects the davix.pc file installed by Davix, I had to:

  • Make sure that the davix.pc file would get installed. Previously it was explicitly removed.
  • Updated the ROOT configuration to find Davix using CMAKE_PREFIX_PATH, as pkg_search_module takes that into account by default.

With this setup ROOT now seems to pick up our version of Davix correctly during the build. Unfortunately this now means that we install an invalid davix.pc file with AnalysisBaseExternals. So if anybody tried to compile something against our release using pkg-config, they would fail. But since we don't do that "normally", I think this is acceptable.

P.S. Also fixed an issue with building ROOT on CentOS 7. Since there the build by default picks up Python from the system. This was not working correctly before.

Merge request reports