Unfortunately I don’t have sudo rights on the machine I am trying to build. Of course I could build davix outside of root and then use that in the root build, but the real problem is that in their current form the source distributed by root cannot be built with -Dbuiltin_davix=ON
, because the download of the davix sources that happens inside the root build fails for 6.18/04.
I have checked the CMakeLists.txt
and it seems that the source where the package is downloaded from has been changed in this pull request. I don’t know when the original source was taken offline (or maybe it is not available at the moment?), however the davix-0.6.7
sources seem to be available. Patching the builtins/davix/CMakeLists.txt
to use the new source for downloading the davix tarball allows me to build root 6.18/04 again with builtin davix:
diff -urB root-6.18.04.orig/builtins/davix/CMakeLists.txt root-6.18.04/builtins/davix/CMakeLists.txt
--- root-6.18.04.orig/builtins/davix/CMakeLists.txt 2019-09-11 15:36:49.000000002 +0200
+++ root-6.18.04/builtins/davix/CMakeLists.txt 2021-03-30 18:22:38.000000002 +0200
@@ -5,8 +5,8 @@
find_package(OpenSSL REQUIRED)
set(DAVIX_VERSION "0.6.7")
-set(DAVIX_URL "http://grid-deployment.web.cern.ch/grid-deployment/dms/lcgutil/tar/davix")
-set(DAVIX_URLHASH "SHA256=1694152a20a5c5e692c4bc545b2efbacec5274fb799e60725412ebae40cced3d")
+set(DAVIX_URL "http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources")
+set(DAVIX_URLHASH "SHA256=bc067aef67d16fd530b45d7718294802dbd5f63c1a6002f50c404055f7755431")
set(DAVIX_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/DAVIX-prefix)
set(DAVIX_LIBNAME ${CMAKE_STATIC_LIBRARY_PREFIX}davix${CMAKE_STATIC_LIBRARY_SUFFIX})
@@ -16,7 +16,7 @@
endforeach()
ExternalProject_Add(DAVIX
- URL ${DAVIX_URL}/${DAVIX_VERSION}/davix-embedded-${DAVIX_VERSION}.tar.gz
+ URL ${DAVIX_URL}/davix-${DAVIX_VERSION}.tar.gz
URL_HASH ${DAVIX_URLHASH}
CMAKE_CACHE_ARGS
-DCMAKE_PREFIX_PATH:STRING=${OPENSSL_PREFIX}
There are a few failing unittests, but they seem to be unrelated to davix:
The following tests FAILED:
284 - tutorial-dataframe-df027_SQliteDependencyOverVersion (Failed)
285 - tutorial-dataframe-df028_SQliteIPLocation (Failed)
286 - tutorial-dataframe-df029_SQlitePlatformDistribution (Failed)
287 - tutorial-dataframe-df030_SQliteVersionsOfROOT (Failed)
789 - tutorial-xml-xmlmodifyfile (Failed)
825 - tutorial-dataframe-df026_AsNumpyArrays-py (Failed)
The 4 sqlite related ones seem to be run accidentally, because -Dsqlite=OFF
, the numpy
related fails likely due to a problem in my quickly put together test setup for debugging this and for the xml related one I am not entirely sure.
Should someone run into similar problems in the future, here is the patch file that can be used to patch this problem: (Remove the .txt
at the end and apply via patch -p1 -u < davix_download_patch_6.18.patch
in the untarred root-6.18.04
folder)
davix_download_patch_6.18.patch.txt (1.1 KB)