Building ROOT 6.24 (the v6-24-00-patches branch)

git clone --depth 1 --branch v6-24-00-patches https://github.com/root-project/root.git v6-24-00-patches

Ok thank you so much! It generated successfully. The problem now is that compilation breaks at this point:

[  0%] Performing configure step for 'XROOTD'
-- XROOTD configure command succeeded.  See also /Users/diiego/software/ROOT/ROOT_6.24/build/XROOTD-prefix/src/XROOTD-stamp/XROOTD-configure-*.log
[  0%] Performing build step for 'XROOTD'
CMake Error at /Users/diiego/software/ROOT/ROOT_6.24/build/XROOTD-prefix/src/XROOTD-stamp/XROOTD-build-Release.cmake:49 (message):
  Command failed: 2

   '/opt/homebrew/bin/gmake'

  See also

    /Users/diiego/software/ROOT/ROOT_6.24/build/XROOTD-prefix/src/XROOTD-stamp/XROOTD-build-*.log


gmake[2]: *** [CMakeFiles/XROOTD.dir/build.make:86: XROOTD-prefix/src/XROOTD-stamp/XROOTD-build] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:7220: CMakeFiles/XROOTD.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2

And I cannot understand why gmake is not working

Try to add -Dxrootd=OFF when configuring ROOT (switches the support for XRootD off).
Note: you need to remove the old build and configure it from scratch again.

Ok great, now the compilation is working. I will let you know if something else goes wrong. Thank you so much again :grinning:

You could try: -Dall=ON -Dxrootd=OFF

Hello again,

I tried with both option, only -Dxrootd=OFF and both -Dall=ON -Dxrootd=OFF, and the compilation always fails here:

[ 80%] Building CXX object bindings/pyroot/cppyy/CPyCppyy/CMakeFiles/cppyy3_11.dir/src/CPPConstructor.cxx.o
/Users/diiego/software/ROOT/ROOT_6.24/v6-24-00-patches/bindings/pyroot/cppyy/CPyCppyy/src/CPPConstructor.cxx:125:31: error: expression is not assignable
                Py_TYPE(self) = (PyTypeObject*)pyclass;
                ~~~~~~~~~~~~~ ^
1 error generated.
gmake[2]: *** [bindings/pyroot/cppyy/CPyCppyy/CMakeFiles/cppyy3_11.dir/build.make:132: bindings/pyroot/cppyy/CPyCppyy/CMakeFiles/cppyy3_11.dir/src/CPPConstructor.cxx.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:32585: bindings/pyroot/cppyy/CPyCppyy/CMakeFiles/cppyy3_11.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2

Any clue about what may be happening? I guess it has to be with PyROOT, but do not know what.

Thanks again

I’m afraid you face “cppyy3_11” problems, e.g., something like:

@bellenot @etejedor Could someone backport the required fixes to “v6-24-00-patches” (the last version which supports “-std=c++11”)?

So… Does this have a solution? I’m a bit lost at this point to be honest.

Wait until the relevant changes are committed in the v6-24-00-patches branch

@bellenot Was this the only fix needed for “cppyy3_11”? Here (see above) it actually complained about “expression is not assignable”, not about a missing “code.h”.

@Wile_E_Coyote Oh, ok, sorry. Then I’ll have to investigate next week. And FYI, I’m not a PyROOT expert (not even a user)

So, we may need some python experts … @Axel @vpadulan

Working on it

Thanks!

So hopefully the PR #12514 should fix it. I’ll let you know once it’s merged
EDIT: I’m looking for all required changes for Python 3.11, and it will take more efforts and time than expected… Stay tuned!

Ok, thanks a lot again!

OK, the PR failed. So we will need a Python expert here, once one is available…

@Diego_Costas_Rodrigu So … in the meantime … maybe you could try to build it with the old Python 2.7 only:
-DCMAKE_CXX_STANDARD=11 -Dall=ON -Dxrootd=OFF -DPYTHON_EXECUTABLE=/usr/local/bin/python2.7
This would test if the rest of ROOT builds fine.
Also, maybe (for the moment) you can live with Python 2.7 (if your software is compatible with the old ROOT 5.34, it should also be compatible with the old Python 2.7).
Once the problems with Python 3.11 are solved, you could try to use the new version.

And BTW, are you forced to use Python 3.11? Can’t you simply install let’s say 3.10 (or 3.9, or 3.8)?