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

Simon Rit simon.rit at creatis.insa-lyon.fr
Thu Jan 28 14:08:26 CET 2021


Hi,
I would recompile Geant4 first. With the cmake option GEANT4_BUILD_CXXSTD
set to match the root compilation (17 in your case?). And hopefully Gate
will automatically use the correct flags then.
Simon

On Thu, Jan 28, 2021 at 12:15 PM Nils Krah <nils.krah at creatis.insa-lyon.fr>
wrote:

> I would clear the build directory and compile Gate from scratch, yes.
> ​Not sure about ROOT since yours is prepackaged and installed via yum.
> ​Nils
>
> On Jan 28 2021, at 12:07 pm, PRESOTTO LUCA <presotto.luca at hsr.it> wrote:
>
>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20210128/c020ff05/attachment-0001.html>


More information about the Gate-users mailing list