Hello,
I have to move from Python 2.7 to Python 3.6. At the step of recompiling ROOT 5.34.36 with PyRoot support, I issued the same problem. Here’s my configure command :
bindings/pyroot/src/TCustomPyTypes.o:(.data.rel+0x2a0) : référence indéfinie vers « PyInt_Type »
collect2: error: ld returned 1 exit status
/.../root_v5.34.36/bindings/pyroot/Module.mk:76 : la recette pour la cible « lib/libPyROOT.so » a échouée
make: *** [lib/libPyROOT.so] Erreur 1
I dont understand if this problem was solved in the above topic. Maybe I should try with CMake and extra arguments given by @wlav.
I add that configure was running well with:
Checking for Python.h ... /.../anaconda/envs/py36/include/python3.6
Checking for python3.6, libpython3.6, libpython, python, or Python ... /.../anaconda/envs/py36/lib
and that I added /.../anaconda/envs/py36/lib to the LD_LIBRARY_PATH.
If it was of my responsibility I would do such. But it is not planned to move to ROOT6 in the project I’m working on. But thanks ! have you a solution for 5.34.36 ?
Can we help with the transition? Is there a blocker which prevents you from moving? As you may know, ROOT5 is not actively developed any more since years.
@Danilo, I’m compiling with configure, make, make install using same command line and options as above. It seems to be longer that for version 5.34.36. Is that normal ?
I also saw that CMake is now prefered. What is the difference, is it faster ?
Despite the warning, the compilation has gone well. I can successfully run Root and import it in Python 3. Now I have to check with our C++ code using Root 5.34 to move to 6.
In file included from /.../root-6.12.06/include/RtypesCore.h:23:0,
from /.../root-6.12.06/include/Rtypes.h:23,
from /.../root-6.12.06/include/TAttPad.h:16,
from /.../root-6.12.06/include/TVirtualPad.h:25,
from /.../root-6.12.06/include/TPad.h:16,
from /.../root-6.12.06/include/TCanvas.h:17,
from /.../src/libUtsTools/UtsGraphicsTools.h:19,
from /.../src/libUtsTools/UtsGraphicsTools.cpp:16:
/.../root-6.12.06/include/RConfig.h:47:4: error: #error "ROOT requires support for C++11 or higher."
# error "ROOT requires support for C++11 or higher."
and plenty of other errors
I try to recompile Root with -DCMAKE_CXX_FLAGS="-std=c++11": Root works well and I didn’t get the warning about libcurl.so.4. Then I recompile my code with: