Different INSTALL-directory structure for different installation methods

That was actually my intention, to test PyROOT: by running import ROOT from Python, we can check if PyROOT is (minimally) working. It might be that your dual installation was ok, but you hit the problem with that failing tutorial.

@etejedor As already explicitly said in the “Python in ROOT 6.22” thread:

@etejedor : As requested by you, I just did a fresh download and installation as:

cmake -DCMAKE_INSTALL_PREFIX=../root_v62301-g727e879 -DPython3_EXECUTABLE=/usr/bin/python3 -DPython2_EXECUTABLE=/usr/bin/python2 -Dall=ON -Dfortran=OFF -Druntime_cxxmodules=OFF ../root-g727e879

followed by "cmake --build . --target install -- -j8".

And, as I had guessed, there is no problem with the installation. Please see below:

$ python2
Python 2.7.18 (default, Apr 20 2020, 00:00:00) 
[GCC 10.0.1 20200328 (Red Hat 10.0.1-0.11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ROOT
>>> exit()

$ python3
Python 3.8.3 (default, May 15 2020, 00:00:00) 
[GCC 10.1.1 20200507 (Red Hat 10.1.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ROOT
>>> exit()

$ root -l
root [0] gROOT->GetGitCommit()
(const char *) "v6-23-01-462-g727e879641"
root [1]

Please note that, I am still a novice and consider the tutorials as the first place to learn ROOT and its features.

Hi,

Ok, that’s good. For what concerns the tutorials, we’ll fix the failing ones asap. Please work on the ones that are ok for now (which should be most of them).

As requested by @Wile_E_Coyote in a private message, and regarding the python2 error reported (redefinition in the _cppyy_internal namespace) I confirm I can reproduce it. That error indicates that libcppyy is being loaded twice. By having a look at the code of demo.py it seems that running TPython commands from Python is triggering that second load. I need to have a closer look to confirm, this is also https://sft.its.cern.ch/jira/browse/ROOT-10844 .

@Wile_E_Coyote @eguiraud

With the following build

cmake -DCMAKE_INSTALL_PREFIX=../root_v62301-g727e879 -DPython3_EXECUTABLE=/usr/bin/python3 -DPython2_EXECUTABLE=/usr/bin/python2 -Dall=ON -Dfortran=OFF -Druntime_cxxmodules=OFF ../root-g727e879

I am NOT getting cling. As you will see that I am using -Dall=ON.

"root-config --has-cling" gives "no".

What is going on?

I can’t say, can you copy-paste the full output of the cmake configuration please?

Actually, do you actually not have cling? My build also reports no, so that value might be wrong (i.e. could be a bug or non-intuitive behavior on the part of root-config --has-cling, will have to investigate). Can you start the ROOT prompt with root and type C++ code in there?

EDIT: nevermind root-config --has-whatever, it prints no for anything that is not listed in root-config --features. Super weird behavior.

It seems it is working. Here is the output of root-config --config

BLAS_openblas_LIBRARY=/usr/lib64/libopenblas.so Backtrace_INCLUDE_DIR=/usr/include CLANG_EXECUTABLE_VERSION=5.0 CMAKE_CACHE_MAJOR_VERSION=3 CMAKE_CACHE_MINOR_VERSION=17 CMAKE_CACHE_PATCH_VERSION=3 DL_LIBRARY_PATH=/usr/lib64/libdl.so FFTW_INCLUDE_DIR=/usr/include FFTW_LIBRARY=/usr/lib64/libfftw3.so FREETYPE_INCLUDE_DIR_freetype2=/usr/include/freetype2 FREETYPE_INCLUDE_DIR_ft2build=/usr/include/freetype2 FREETYPE_LIBRARY_RELEASE=/usr/lib64/libfreetype.so FTGL_INCLUDE_DIR=/opt/root_6.23.01_b3ecdf6/graf3d/ftgl/inc Fontconfig_INCLUDE_DIR=/usr/include Fontconfig_LIBRARY=/usr/lib64/libfontconfig.so GLEW_INCLUDE_DIR=/usr/include GLEW_SHARED_LIBRARY_RELEASE=/usr/lib64/libGLEW.so GSL_CBLAS_LIBRARY=/usr/lib64/libgslcblas.so GSL_CBLAS_LIBRARY_DEBUG=/usr/lib64/libgslcblas.so GSL_INCLUDEDIR=/usr/include GSL_INCLUDE_DIR=/usr/include GSL_INCLUDE_DIRS=/usr/include GSL_LIBRARY=/usr/lib64/libgsl.so GSL_LIBRARY_DEBUG=/usr/lib64/libgsl.so GSL_VERSION=2.6 JPEG_INCLUDE_DIR=/usr/include JPEG_LIBRARY=/usr/lib64/libjpeg.so JPEG_LIBRARY_RELEASE=/usr/lib64/libjpeg.so LIBCLANG_LIBRARY_VERSION=5.0 LIBLZMA_INCLUDE_DIR=/usr/include LIBLZMA_LIBRARY=/usr/lib64/liblzma.so LIBLZMA_LIBRARY_RELEASE=/usr/lib64/liblzma.so LIBXML2_INCLUDE_DIR=/usr/include/libxml2 LIBXML2_LIBRARY=/usr/lib64/libxml2.so LLVM_DYLIB_SYMBOL_VERSIONING=OFF LLVM_INCLUDE_EXAMPLES=OFF LLVM_INCLUDE_RUNTIMES=ON LLVM_INCLUDE_TOOLS=ON LLVM_INCLUDE_UTILS=ON LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO=ON LZ4_INCLUDE_DIR=/opt/root_6.23.01_b3ecdf6/builtins/lz4 LZ4_INCLUDE_DIRS=/opt/root_6.23.01_b3ecdf6/builtins/lz4 LZ4_LIBRARIES=LZ4::LZ4 LZ4_LIBRARY=$<TARGET_FILE:lz4> LZ4_VERSION=1.9.2 LZ4_VERSION_STRING=1.9.2 OPENGL_EGL_INCLUDE_DIR=/usr/include OPENGL_GLX_INCLUDE_DIR=/usr/include OPENGL_INCLUDE_DIR=/usr/include OPENGL_egl_LIBRARY=/usr/lib64/libEGL.so OPENGL_glu_LIBRARY=/usr/lib64/libGLU.so OPENGL_glx_LIBRARY=/usr/lib64/libGLX.so OPENGL_opengl_LIBRARY=/usr/lib64/libOpenGL.so OPENSSL_CRYPTO_LIBRARY=/usr/lib64/libcrypto.so OPENSSL_INCLUDE_DIR=/usr/include OPENSSL_SSL_LIBRARY=/usr/lib64/libssl.so PCRE_INCLUDE_DIR=/usr/include PCRE_PCRE_LIBRARY_DEBUG=/usr/lib64/libpcre.so PCRE_PCRE_LIBRARY_RELEASE=/usr/lib64/libpcre.so PC_LIBXML_INCLUDEDIR=/usr/include PC_LIBXML_INCLUDE_DIRS=/usr/include/libxml2 PC_LIBXML_LIBRARIES=xml2 PC_LIBXML_STATIC_INCLUDE_DIRS=/usr/include/libxml2 PC_LIBXML_VERSION=2.9.10 PC_SQLITE_INCLUDEDIR=/usr/include PC_SQLITE_LIBRARIES=sqlite3 PC_SQLITE_VERSION=3.32.2 PKG_FONTCONFIG_INCLUDEDIR=/usr/include PKG_FONTCONFIG_VERSION=2.13.92 PNG_LIBRARY=/usr/lib64/libpng.so PNG_LIBRARY_RELEASE=/usr/lib64/libpng.so PNG_PNG_INCLUDE_DIR=/usr/include RT_LIBRARY=/usr/lib64/librt.so R_INCLUDE_DIR=/usr/lib64/R/include R_LIBRARY=/usr/lib64/R/lib/libR.so SQLITE_INCLUDE_DIR=/usr/include SQLITE_LIBRARIES=/usr/lib64/libsqlite3.so TIFF_INCLUDE_DIR=/usr/include TIFF_LIBRARY=/usr/lib64/libtiff.so TIFF_LIBRARY_RELEASE=/usr/lib64/libtiff.so UUID_INCLUDE_DIR=/usr/include VDT_INCLUDE_DIR=/opt/root_build/ginclude X11_ICE_INCLUDE_PATH=/usr/include X11_SM_INCLUDE_PATH=/usr/include X11_X11_INCLUDE_PATH=/usr/include X11_XShm_INCLUDE_PATH=/usr/include X11_XSync_INCLUDE_PATH=/usr/include X11_Xaccessstr_INCLUDE_PATH=/usr/include X11_Xau_INCLUDE_PATH=/usr/include X11_Xcomposite_INCLUDE_PATH=/usr/include X11_Xcursor_INCLUDE_PATH=/usr/include X11_Xdamage_INCLUDE_PATH=/usr/include X11_Xext_INCLUDE_PATH=/usr/include X11_Xfixes_INCLUDE_PATH=/usr/include X11_Xft_INCLUDE_PATH=/usr/include X11_Xi_INCLUDE_PATH=/usr/include X11_Xinerama_INCLUDE_PATH=/usr/include X11_Xkb_INCLUDE_PATH=/usr/include X11_Xkblib_INCLUDE_PATH=/usr/include X11_Xlib_INCLUDE_PATH=/usr/include X11_Xmu_INCLUDE_PATH=/usr/include X11_Xpm_INCLUDE_PATH=/usr/include X11_Xrandr_INCLUDE_PATH=/usr/include X11_Xrender_INCLUDE_PATH=/usr/include X11_Xshape_INCLUDE_PATH=/usr/include X11_Xt_INCLUDE_PATH=/usr/include X11_Xtst_INCLUDE_PATH=/usr/include X11_Xutil_INCLUDE_PATH=/usr/include X11_Xv_INCLUDE_PATH=/usr/include X11_dpms_INCLUDE_PATH=/usr/include ZLIB_INCLUDE_DIR=/usr/include ZLIB_LIBRARY_RELEASE=/usr/lib64/libz.so ZSTD_INCLUDE_DIR=/opt/root_6.23.01_b3ecdf6/builtins/zstd ZSTD_INCLUDE_DIRS=/opt/root_6.23.01_b3ecdf6/builtins/zstd ZSTD_LIBRARIES=ZSTD::ZSTD ZSTD_LIBRARY=$<TARGET_FILE:ZSTD> ZSTD_VERSION=1.4.0 ZSTD_VERSION_STRING=1.4.0 xxHash_INCLUDE_DIR=/opt/root_6.23.01_b3ecdf6/builtins/xxhash xxHash_INCLUDE_DIRS=/opt/root_6.23.01_b3ecdf6/builtins/xxhash xxHash_LIBRARIES=xxHash::xxHash xxHash_LIBRARY=$<TARGET_FILE:xxhash> xxHash_VERSION=0.6.4 xxHash_VERSION_STRING=0.6.4

root-config --features gives the following:

cxx11 asimage builtin_clang builtin_ftgl builtin_gl2ps builtin_llvm builtin_lz4 builtin_tbb builtin_unuran builtin_vdt builtin_veccore builtin_xrootd builtin_xxhash builtin_zstd cefweb clad cuda cudnn dataframe exceptions fftw3 gdml http imt mathmore memstat mlp minuit2 opengl pyroot qt5web roofit shadowpw shared sqlite ssl tmva tmva-cpu spectrum unuran vmc vdt veccore x11 xml xrootd

Again no cling

Actually, it seems to me that this is the expected behavior … root-config --features returns a string with all compiled-in features and root-config --has-whatever returns yes / no depending if whatever is actually compiled-in (can easily be tested from e.g. shell scripts).

Without cling, you wouldn’t be able to finish ROOT compilation correctly. cling is always there.

Absolutely – still weird.

So, shall I just ignore this. Actually, I have problem adding two TH1F histograms in TBrowser.

After opening a ROOT file in the TBrowser, I select one of the histograms and then right-click to Add, I get the following warning:

Warning in <TRootContextMenu::Dialog>: data type is not basic type, assuming (int)

Following this, when I write the name of the same histogram in both the places of resulting panel, then I get the following error:

Error in <TClingCallFunc::IFacePtr(kind)>: Attempt to get interface while invalid.
Error in <TClingCallFunc::Exec(address, interpVal)>: Called with no wrapper, not implemented!

Am I doing anything fundamentally wrong?

You can use histograms from this file: CL16.root (65.9 KB)

Yes, absolutely, there is nothing that points at a problem.

I think this can be safely ignored, although we shouldn’t be printing warnings like that. This is now ROOT-10883.

Uhm that’s not ok, @bellenot might know the cause and/or a fix.

I have created a new Topic for this problem. Please check: Problem adding histograms using TBrowser

@etejedor

The link https://github.com/root-project/web/blob/gh-pages/install/build_from_source.md#root-python-and-pyroot is broken.

Do you have the new location?

Hi,
not Enric, but I can provide a new, more stable link: https://root.cern/install/build_from_source/#root-python-and-pyroot

Cheers,
Enrico

Thanks!

I was actually looking for more elaborate description which was earlier available at ROOT git website

The one I linked is the exact same content but served as a web-page. As a GitHub blob, it was moved to https://github.com/root-project/web/blob/main/install/build_from_source.md#root-python-and-pyroot .

I don’t think it ever had more information than in this version.

Cheers,
Enrico

Okay, thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.