-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Check duplicate issues.
- Checked for duplicates
Description
While upgrading the ROOT version used for the Belle II software from 6.32 to 6.36, I found with great surprise that some build options that were supposed to be turned on by default according to https://root.cern/install/build_from_source/ were, instead, turned off. The two options I found are geom and tpython, which should be turned on in 6.36, but I found them turned off.
I spotted the options were turned off because some headers were not found while compiling our software against ROOT 6.36, e.g.: ls include/ | grep TPython and ls include/ | grep TGeoElement returned nothing (where include is the include directory with all the ROOT headers). This does not happen with ROOT 6.32.
Of course, I enabled successfully both geom and tpython with ROOT 6.36 by manually adding the options -Dgeom=ON and -Dtpython=ON.
One suggestion: when the ROOT configuration is printed at the end of cmake, it would be good to list ALL the enabled build options, both implicitly and explicitly enabled, so that the user can easily spot if anything is missing. I am referring to the line -- Enabled support for: builtin_clang builtin_cling builtin_ftgl builtin_gif builtin_gl2ps builtin_gsl builtin_jpeg builtin_llvm builtin_lz4 builtin_nlohmannjson builtin_pcre builtin_xxhash builtin_zstd dataframe http mathmore pyroot roofit runtime_cxxmodules shadowpw shared ssl tmva tmva-sofie x11 xml.
Reproducer
I will try to be brief...
- I started a docker container using
almalinux:9as base image - I installed "few" packages:
yum install --enablerepo=crb cmake emacs freetype-devel gcc gcc-g++ git glibc-devel libX11-devel libXext-devel libXft-devel libXpm-devel m4 make openssl openssl-devel protobuf protobuf-devel protobuf-compiler python3 python3-devel xz-devel wget which zlib-devel - I downloaded ROOT 6.36 source code using
wget https://root.cern/download/root_v6.36.04.source.tar.gzand un-tared it - I compiled it with
cmake SOURCE_DIR -DCMAKE_INSTALL_PREFIX=INSTALL_DIR -Dgminimal=ON -Dfail-on-missing=ON -DCMAKE_CXX_STANDARD=20 -DPython3_EXECUTABLE=/usr/bin/python3.9 -DPython3_INCLUDE_DIR=/usr/include/python3.9 -DPython3_LIBRARY=/usr/lib64/libpython3.9.so -Dasimage=OFF -Dbuiltin_freetype=OFF -Dbuiltin_ftgl=ON -Dbuiltin_gl2ps=ON -Dbuiltin_pcre=ON -Dbuiltin_xxhash=ON -Dbuiltin_zstd=ON -Dbuiltin_gif=ON -Dbuiltin_jpeg=ON -Ddataframe=ON -Dexception=ON -Dhttp=ON -Dmathmore=ON -Dmlp=ON -Dpyroot=ON -Droofit=ON -Dshadowpw=ON -Dshared=ON -Dssl=ON -Dtmva=ON -Dtmva-sofie=ON -Dvdt=OFF -Dxml=ON -Dbuiltin_nlohmannjson=ON -Dbuiltin_lz4=ON -Dbuiltin_gsl=ON -DCMAKE_CXX_FLAGS=-D__ROOFIT_NOBANNER && make -j 30
For ROOT 6.32, I repeated the same procedure, besides downloading https://root.cern/download/root_v6.32.14.source.tar.gz.
I don't think this is a OS-dependent issue, but I found the same issue with ubuntu:24.04.
ROOT version
v6.36.04
Installation method
Build from source
Operating system
Linux
Additional context
No response