[Gate-users] R: R: R: Centos 8 compilation issues

PRESOTTO LUCA presotto.luca at hsr.it
Fri Jan 29 18:08:28 CET 2021


Dear all,
Dear future user coming from google with the same issue,

I finally managed to make it work by working as suggested. I uninstalled root and compiled it from the sources using the c++lz flag. Then I've recompiled geant and gate using this same flag and now everything works. I even managed to get a (toy) simulation running.

Thanks everyone for the help!

Luca

________________________________________
Da: Gate-users <gate-users-bounces at lists.opengatecollaboration.org> per conto di PRESOTTO LUCA <presotto.luca at hsr.it>
Inviato: giovedì 28 gennaio 2021 12:06
A: Nils Krah; Viatcheslav.Sharyy at cea.fr
Cc: Gate-Users
Oggetto: [Gate-users] R:  R: Centos 8 compilation issues

Hi,
I've monitored my make output and now -std=c++1z but I get the same errors.
I guess this means that I need to compile from scratch  and not just install also root using the same flags. Is this correct?

Thanks a lot!
Luca

________________________________________
Da: Viatcheslav Sharyy <Viatcheslav.Sharyy at cea.fr>
Inviato: giovedì 28 gennaio 2021 08:59
A: Nils Krah; PRESOTTO LUCA
Cc: Gate-Users
Oggetto: Re: [Gate-users] R: Centos 8 compilation issues

Hello,

I successfully installed Gate9 at Centos8.
What you need is to compile both root and Geant4 using c++17 flag (you can do this throw the ccmake  in the advance mode). My configuration is the following

gate9

geant4.10.06
cflags: -DG4INTY_USE_XT -DG4VIS_USE_OPENGL -DG4UI_USE_TCSH -DG4INTY_USE_QT -DG4UI_USE_QT -DG4VIS_USE_OPENGLQT -I/usr/include/qt5/ -I/usr/include/qt5/QtCore -I/usr/lib64/qt5//mkspecs/linux-g++ -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtOpenGL -I/usr/include/qt5/QtPrintSupport -DG4VIS_USE_OPENGLX -W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -Wno-variadic-macros -Wshadow -pipe -std=c++1z

root-6.22.06
cflags: -pthread -std=c++1z -m64

Hope this will help.

Viatcheslav

On 27/01/2021 21:35, Nils Krah wrote:
I am not a developer, so take everything I write with a grain of salt. Looking at the output from your compilation it seems that the compiler cannot figure out certain types that are used in the ROOT header files. Sorry for writing obvious things: Gate depends on ROOT for certain data handling operations and therefore refers to ROOT's header files. I guess these headers were installed when you installed ROOT with yum. Or you installed a root-dev package additionally via yum? In any case, these headers use e.g. std::string_view in several declarations which seems to cause errors.
​
​I see this line:
​/usr/include/root/ROOT/RStringView.hxx:48:28: error: ‘string_view’ is not a member of ‘std’

... which makes me think that the compiler does not understand the type, i.e., for it there is no string_view in C++'s standard library.
​​Several other errors are consequences of this, e.g.
​/usr/include/root/ROOT/RStringView.hxx:48:53: error: ‘pos’ was not declared in this scope

​This line is also insightful:
​/usr/include/root/ROOT/RStringView.hxx:48:28: warning: inline variables are only available with -std=c++17 or -std=gnu++17
together with this line towards the end:
​/usr/include/root/TFile.h:325:36: note: ‘std::string_view’ is only available from C++17 onwards

​So probably your compiler is fine but you might need to tell it to consider a sufficiently new version of C++, i.e. at least C++17. Maybe this can/needs to be passed as flag when compiling Gate? Are you using cmake/ccmake?
​More experienced developers than myself can probably answer this better.
​
​You might want to get more verbose output using
​make V=1
​or
​make -n
​So you see the compilation commands that are invoked.
​
​Hope that helps.
​Nils
​

On Jan 27 2021, at 7:59 pm, PRESOTTO LUCA <presotto.luca at hsr.it><mailto:presotto.luca at hsr.it> wrote:
Actually I didn’t compile root, I just did a yum install.
Is the problem that my compiler is outdated? It’s the one that comes with the latest Centos kernel, updated days ago. Actually I’ve been told that I should use gcc 6.3 for that Gate version instead of gcc8

Luca


From: Nils Krah <nils.krah at creatis.insa-lyon.fr><mailto:nils.krah at creatis.insa-lyon.fr>
Sent: 27 January 2021 19:51
To: PRESOTTO LUCA <presotto.luca at hsr.it><mailto:presotto.luca at hsr.it>
Cc: Gate-Users <gate-users at lists.opengatecollaboration.org><mailto:gate-users at lists.opengatecollaboration.org>
Subject: Re: [Gate-users] R: Centos 8 compilation issues


Only just had a quick look. It also seems to me like an issue with ROOT as well. The note at the end of the output makes me think that your compiler is too outdated to understand certain C++17 features. You could check that. Were you able to compile ROOT without issues? I am wondering if there are any parameters/flags in the gate compilation regarding the supported C++ version.
Just some thoughts.
Coraggio
Nils





On Jan 27, 2021 at 3:42 PM, <PRESOTTO LUCA<mailto:presotto.luca at hsr.it>> wrote:
Please find attached the compiler output that another user asked me privately.I've been suggested it might be a ROOT version issue. I'm using ROOT 6.22/06 Luca ________________________________________Da: PRESOTTO LUCAInviato: mercoledì 27 gennaio 2021 15:10A: gate-users at lists.opengatecollaboration.org<mailto:gate-users at lists.opengatecollaboration.org>Oggetto: Centos 8 compilation issues Dear experts,I’m trying to install Geant and GATE on my personal PC. I converted my PC to Centos 8 that I understand it’s what CERN is using as they’ll not be making SLC8. I’ve successfully installed Geant v4.10.05.p01 , and examples B1 and B2 run. I’ve also tried to install Gate 8.2 and as soon as I type make I get a huge number of disparate errors that I’m told to be dependent on my gcc/g++ version, which is 8.3.1 I’ve been told that I should install gcc 6.3, but I can’t find any way to do this on centos 8, while it appears to be simple in centos 7. What do you recommend me to do? Is there a simple fix to make the compilation run in centos 8? My student managed to compile it on ubuntu with gcc 9! Or is there a way to install gcc 6.3 in centos 8? Thanks in advance! Luca  Rispetta l’ambiente: non stampare questa mail se non è necessario.Respect the environment: print this email only if necessary. _______________________________________________Gate-users mailing listGate-users at lists.opengatecollaboration.org<mailto:Gate-users at lists.opengatecollaboration.org>http://lists.opengatecollaboration.org/mailman/listinfo/gate-users



_______________________________________________
Gate-users mailing list
Gate-users at lists.opengatecollaboration.org<mailto:Gate-users at lists.opengatecollaboration.org>
http://lists.opengatecollaboration.org/mailman/listinfo/gate-users


--
Viatcheslav Sharyy

--------------------------------------
Ph.D., HDR

Département de Physique des Particules, IRFU, CEA
BioMaps, Service Hospitalier Frédéric Joliot, CEA, CNRS, Inserm
Université Paris-Saclay

e-mail: Viatcheslav.Sharyy at cea.fr<mailto:Viatcheslav.Sharyy at cea.fr>
tel.:   +33 1 69 08 61 29
--------------------------------------

_______________________________________________
Gate-users mailing list
Gate-users at lists.opengatecollaboration.org
http://lists.opengatecollaboration.org/mailman/listinfo/gate-users


More information about the Gate-users mailing list