[Gate-users] R: Centos 8 compilation issues

Nils Krah nils.krah at creatis.insa-lyon.fr
Wed Jan 27 21:35:08 CET 2021


      
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>  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>
>   
> Sent:   27 January 2021 19:51
>   
> To:   PRESOTTO LUCA  <presotto.luca at hsr.it>
>   
> Cc:   Gate-Users  <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
> >   
>   
>   
>   
>   
     
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/pipermail/gate-users/attachments/20210127/2d56436e/attachment-0001.html>


More information about the Gate-users mailing list