AliRoot
ROOT
return Form("x=%g, y=%g", x, y); return Form("TGLSceneBase %s", fName.Data()); // inside a thread-local static character buffer
cmake ../xrootd-4.8.1/ -DCMAKE_INSTALL_PREFIX=/cern/xrootd-4.8.1 make; make install cd /cern; ln -s xrootd-4.8.1 xrootd
XRootD cannot be built in-source! Please run cmake <src-dir>
outside the source directory and be sure to remove CMakeCache.txt or CMakeFiles if they exist in the source directory.
// ROOT 6.26 C++14 (2022-04 => 2024-03) // ROOT 6.28 C++14 (2023-02 => 2024-01) // ROOT 6.30 C++17 (2023-11 => 2024-01) // ROOT 6.32 C++17 (2024-05 => actual)
- https://root.cern.ch/building-root
- https://github.com/root-project/web/blob/main/install/build_from_source.md
- https://github.com/root-project/root-docker
- install in /cern/root_master (source dir) and build in /cern/root_master_build (out of source dir)
- it is not supported to build ROOT on the source directory
- location independent installation method
- by default
CMAKE_INSTALL_PREFIX=/usr/local
- don't try
CMAKE_INSTALL_PREFIX=.
(install files and up-to-date files => make install and make loop)
- Before trying to build ROOT, see the “Build Prerequisites” web page. In any case, when you are building a new ROOT version, make always sure that nothing in your environment variables (i.e. “ROOTSYS”, “PATH”, “LD_LIBRARY_PATH”) points to another existing version of ROOT (and that’s another good reason why there should be no ROOT related files in “standard” system locations, like “/usr/[bin|lib]” or “/usr/local/[bin|lib]”). [1]
- https://sft.its.cern.ch/jira/browse/ROOT-9309
- it's better to never set
ROOTSYS
,PATH
andLD_LIBRARY_PATH
and never source thisroot.sh - https://github.com/root-project/root/commit/4e4e1d00d9a639969725069b6c7b4ebbcd875303
- it's better to never set
- https://root-forum.cern.ch/t/pyroot-experimental-not-working-in-6-20-06/40059/8
- recommended method
$ export | grep root declare -x LD_LIBRARY_PATH="/cern/xrootd/lib64" declare -x PATH=" :/cern/root/bin:/cern/xrootd/bin: " cd /cern git clone --depth 1 http://root.cern.ch/git/root.git root_master_source git clone --depth 1 http://root.cern.ch/git/root.git root_master git clone --branch master --depth 1 https://github.com/root-project/root.git root_master_src ln -s root_master root # PATH="/cern/root/bin" mkdir root_master_build/ cd root_master_build cmake /cern/root_master_src/ -Droofit=OFF -Dtmva=OFF -Dmathmore=OFF -DXROOTD_ROOT_DIR=/cern/xrootd/ -DCMAKE_INSTALL_PREFIX=/cern/root_master/ -Drpath=ON cmake /cern/root_master_source/ -Droofit=OFF -Dtmva=OFF -Dmathmore=OFF -Dhttp=ON -DXROOTD_ROOT_DIR=/cern/xrootd/ -DCMAKE_INSTALL_PREFIX=/cern/root_master/ -Drpath=ON -DCMAKE_CXX_STANDARD=17 -Droot7=ON # -Dfortran=ON (needed for h2root and g2root) cmake /cern/root_master -Droofit=OFF -Dtmva=OFF -Dmathmore=OFF -Dhttp=ON -DXROOTD_ROOT_DIR=/cern/xrootd -DCMAKE_INSTALL_PREFIX=/cern/root_master -Drpath=ON make make install
- old method
$ export | grep root declare -x LD_LIBRARY_PATH="/cern/root/lib:/cern/xrootd/lib64" declare -x PATH=" :/cern/root/bin:/cern/xrootd/bin: " declare -x ROOTSYS="/cern/root" cd /cern git clone --depth 1 http://root.cern.ch/git/root.git root_master ln -s root_master root # ROOTSYS="/cern/root" mkdir root_master_build/ cd root_master_build/ cmake /cern/root_master -Droofit=OFF -Dtmva=OFF -Dmathmore=OFF -Dhttp=ON -DXROOTD_ROOT_DIR=/cern/xrootd -DCMAKE_INSTALL_PREFIX=/cern/root_master make make install
- update
cd /cern/root_master_build git -C /cern/root_master pull rm /cern/root_master/etc/dictpch/allLinkDefs.h /cern/root_master/etc/allDict.cxx.pch /cern/root_master/etc/dictpch/allHeaders.h /cern/root_master/tutorials/hsimple.root make make install
- to start from a clean configuration it is recommended to delete the file root_master_build/CMakeCache.txt
- You can inspect the list of options and their descriptions by running
cmake -LH $PWD
in the build directory - Allow to build ROOT without any Internet connection https://sft.its.cern.ch/jira/browse/ROOT-9163
- CMakeFiles/move_artifacts.dir/build.make find removed file(s)
- for building
clang-format
from ROOT LLVM/Clang source code add CMake variable-DCLANG_ENABLE_FORMAT=ON
make # build LibFormat library cd /cern/root_master_build/interpreter/llvm/src/tools/clang/tools/clang-format make # build ClangFormat stand-alone tool
ROOT5
posledna F23 s ROOT5
gcc 13 (F38) -std=c++1y Deprecated in favor of -std=c++14. Same as -std=c++14.
cd /cern git clone --depth 1 -b v5-34-00-patches http://root.cern.ch/git/root.git root_v5-34-00-patches ln -s root_v5-34-00-patches root # ROOTSYS="/cern/root" cd root_v5-34-00-patches wget https://raw.githubusercontent.com/musinsky/ROOTHighlight/master/root_v5-34-00-patches/HighlightROOT5.patch git apply HighlightROOT5.patch ./configure --with-xrootd=/cern/xrootd --enable-roofit --enable-minuit2 --enable-http ./configure --with-xrootd=/cern/xrootd --disable-tmva # error: ISO C++17 does not allow dynamic exception specifications ./configure --disable-tmva --cxxflags=-std=c++14 # tested on Fedora 33 with gcc 11.2.1 ./configure --disable-tmva --enable-cxx14 # => -std=c++1y (c++1y is draft for c++14 ISO standard) c++1y sa pouizva iba pri g++ a nie pri gcc #### --disable-memstat --disable-builtin-afterimage # 2021-11-23 # ROOT 5 need xrootd 4.x series (xrootd 4.12.6), but compile error with gcc 11.2.1 # update xrootd 4.12.6 with this simple patch compile # https://listserv.slac.stanford.edu/cgi-bin/wa?A2=ind2012&L=XROOTD-DEV&O=A&P=50559 (https://github.com/xrootd/xrootd/commit/8f36753d46c183aa89058219e36e9a2980afd250) # dalsia chyba https://listserv.slac.stanford.edu/cgi-bin/wa?A2=ind2010&L=XROOTD-DEV&P=101787 # https://github.com/root-project/root/issues/7292 => riesenie # existuje na githube tag 4.12.8 !!! ale nie je v sekcii download # https://github.com/xrootd/xrootd/releases/tag/v4.12.8 uz je aj v4.12.9 # verzia !!! 4.12.8 riesi aj predchdzajudzi problem !!! tested on Fedora 34 with gcc 11.2.1 make export ROOTSYS=$(pwd) # export ROOTSYS=$(root-config --prefix) # if ROOTSYS is not declare make install
/cern/root_v5-34-00-patches/etc/system.rootlogon.C
{ Printf("ROOT5 Version: %s", gROOT->GetVersion()); }
- for gcc >= 9 https://root-forum.cern.ch/t/root-5-compilation-with-gcc-9/33981
- 2022-08 https://root-forum.cern.ch/t/root-without-c-compiler-installed/51055
- 2022-09 ./configure --disable-tmva --cxxflags=-std=c++14 --disable-memstat --disable-builtin-afterimage
git clone
2017-03-20 total size => du -hs dir_name total files => find dir_name -type f | wc -l [] git clone --depth 1 -b v5-34-00-patches http://root.cern.ch/git/root.git root_v5-34-00-patches => 280 MB, 11854 files Cloning into 'root_v5-34-00-patches'... remote: Counting objects: 12792, done. remote: Compressing objects: 100% (11256/11256), done. Receiving objects: 100% (12792/12792), 72.59 MiB | 13.82 MiB/s, done. remote: Total 12792 (delta 2145), reused 6588 (delta 1174) Resolving deltas: 100% (2145/2145), done. Checking connectivity... done. [] git clone -b v5-34-00-patches http://root.cern.ch/git/root.git root_v5-34-00-patches_no_depth => 789 MB, 11855 files Cloning into 'root_v5-34-00-patches_no_depth'... remote: Counting objects: 573407, done. remote: Compressing objects: 100% (134748/134748), done. remote: Total 573407 (delta 432023), reused 573097 (delta 431797) Receiving objects: 100% (573407/573407), 566.71 MiB | 2.66 MiB/s, done. Resolving deltas: 100% (432023/432023), done. Checking connectivity... done. [] git clone --depth 1 http://root.cern.ch/git/root.git root_master => 534 MB, 17468 files Cloning into 'root_master'... remote: Counting objects: 18981, done. remote: Compressing objects: 100% (17068/17068), done. remote: Total 18981 (delta 2790), reused 8378 (delta 1432) Receiving objects: 100% (18981/18981), 151.58 MiB | 5.59 MiB/s, done. Resolving deltas: 100% (2790/2790), done. Checking connectivity... done. [] git clone http://root.cern.ch/git/root.git root_master_no_depth => 964 MB, 17467 files Cloning into 'root_master_no_depth'... remote: Counting objects: 573407, done. remote: Compressing objects: 100% (134748/134748), done. remote: Total 573407 (delta 432025), reused 573096 (delta 431797) Receiving objects: 100% (573407/573407), 566.71 MiB | 4.43 MiB/s, done. Resolving deltas: 100% (432025/432025), done. Checking connectivity... done.
alien
dnf install libtool
mozno lepsie zadefinovat premennu GSHELL, gShell
wget http://alien.cern.ch/alien-installer