Fork me on GitHub

Opened 4 years ago

Closed 4 years ago

#1448 closed Bug (fixed)

Error during installation using Conda

Reported by: Sebastian Urrutia Quiroga Owned by:
Priority: critical Milestone:
Component: Delphes code Version: Delphes 3
Keywords: Cc:

Description

Hi,
I have installed ROOT using Conda (https://anaconda.org/conda-forge/root) and I'm getting an error when I try to compile Delphes:

>> Generating tmp/classes/ClassesDict.cc
In file included from input_line_14:1:
In file included from /Users/surrutiaquir/miniconda3/include/TStreamerInfo.h:21:
In file included from /Users/surrutiaquir/miniconda3/include/TVirtualCollectionProxy.h:26:
In file included from /Users/surrutiaquir/miniconda3/include/TClassRef.h:24:
In file included from /Users/surrutiaquir/miniconda3/include/TClass.h:31:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/unordered_set:367:
/Users/surrutiaquir/Documents/Programs/MG5_aMC_v2_7_3_py3/Delphes/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:2:
In file included from /Users/surrutiaquir/miniconda3/include/TFile.h:33:
In file included from /Users/surrutiaquir/miniconda3/include/ROOT/TRWSpinLock.hxx:19:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/condition_variable:110:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/__mutex_base:14:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/chrono:801:
/Users/surrutiaquir/Documents/Programs/MG5_aMC_v2_7_3_py3/Delphes/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:2:
In file included from /Users/surrutiaquir/miniconda3/include/TFile.h:34:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/mutex:197:
/Users/surrutiaquir/Documents/Programs/MG5_aMC_v2_7_3_py3/Delphes/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:18:
In file included from /Users/surrutiaquir/miniconda3/include/root_std_complex.h:13:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/complex:246:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/sstream:173:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/ostream:140:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/locale:189:
/Users/surrutiaquir/Documents/Programs/MG5_aMC_v2_7_3_py3/Delphes/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:18:
In file included from /Users/surrutiaquir/miniconda3/include/root_std_complex.h:13:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/complex:246:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/sstream:173:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/ostream:143:
/Users/surrutiaquir/Documents/Programs/MG5_aMC_v2_7_3_py3/Delphes/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:18:
In file included from /Users/surrutiaquir/miniconda3/include/root_std_complex.h:13:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/complex:246:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/sstream:174:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/istream:162:
/Users/surrutiaquir/Documents/Programs/MG5_aMC_v2_7_3_py3/Delphes/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:18:
In file included from /Users/surrutiaquir/miniconda3/include/root_std_complex.h:13:
In file included from /Users/surrutiaquir/miniconda3/bin/../include/c++/v1/complex:247:
/Users/surrutiaquir/Documents/Programs/MG5_aMC_v2_7_3_py3/Delphes/version:1:1: error: expected unqualified-id
3.4.2
^
make: *** [tmp/classes/ClassesDict.cc] Error 1

Do you have any idea about what could be causing this?


OS: MacOS Catalina
ROOT: 6.18/04
Delphes: 3.4.2
Commands:

cd Delphes-3.4.2
make

Thank you in advance,
Sebastian

Change History (10)

comment:1 by chrisburr, 4 years ago

This is caused by the the build system passing -I/path/to/delphes to the compiler. As macOS normally uses a case-insensitive filesystem by the VERSION file in the root of the repository conflicts with the C++ standard library headers.

I think this should be fixed by either

  • the root of the repository not being passed as an include directory
  • the VERSION file being renamed

See this comment for more details:

https://github.com/conda-forge/root-feedstock/issues/103#issuecomment-661787956

comment:2 by Pavel Demin, 4 years ago

Thank you for spotting this problem.

I'd prefer to replace -I. -Iexternal -Iexternal/tcl with -iquote . -iquote external -iquote external/tcl in Makefile and in doc/genMakefile.tcl.

Could you please check if this workaround works on your system?

comment:3 by Sebastian Urrutia Quiroga, 4 years ago

Thank you both for your suggestions. It seems neither of them is working for me.

  • If I just rename the VERSION file, I get this error message:
    >> Generating tmp/classes/ClassesDict.cc
    In file included from input_line_14:1:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TStreamerInfo.h:21:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TVirtualCollectionProxy.h:26:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TClassRef.h:24:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TClass.h:38:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/unordered_set:367:
    /Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
    3.4.2
    ^
    In file included from input_line_14:2:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TFile.h:37:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/ROOT/TRWSpinLock.hxx:19:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/condition_variable:110:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/__mutex_base:14:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/chrono:831:
    /Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
    3.4.2
    ^
    In file included from input_line_14:2:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TFile.h:38:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/mutex:197:
    /Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
    3.4.2
    ^
    In file included from input_line_14:18:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/root_std_complex.h:13:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/complex:246:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/sstream:173:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/ostream:140:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/locale:189:
    /Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
    3.4.2
    ^
    In file included from input_line_14:18:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/root_std_complex.h:13:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/complex:246:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/sstream:173:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/ostream:143:
    /Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
    3.4.2
    ^
    In file included from input_line_14:18:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/root_std_complex.h:13:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/complex:246:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/sstream:174:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/istream:162:
    /Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
    3.4.2
    ^
    In file included from input_line_14:18:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/root_std_complex.h:13:
    In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/complex:247:
    /Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
    3.4.2
    ^
    make: *** [tmp/classes/ClassesDict.cc] Error 1
    
  • If I just modify the Makefile, I get this error message:
>> Generating tmp/classes/ClassesDict.cc
In file included from input_line_14:1:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TStreamerInfo.h:21:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TVirtualCollectionProxy.h:26:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TClassRef.h:24:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TClass.h:38:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/unordered_set:367:
/Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:2:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TFile.h:37:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/ROOT/TRWSpinLock.hxx:19:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/condition_variable:110:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/__mutex_base:14:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/chrono:831:
/Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:2:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/TFile.h:38:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/mutex:197:
/Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:18:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/root_std_complex.h:13:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/complex:246:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/sstream:173:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/ostream:140:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/locale:189:
/Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:18:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/root_std_complex.h:13:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/complex:246:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/sstream:173:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/ostream:143:
/Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:18:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/root_std_complex.h:13:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/complex:246:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/sstream:174:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/istream:162:
/Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
3.4.2
^
In file included from input_line_14:18:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/include/root_std_complex.h:13:
In file included from /Users/surrutiaquir/Software/Python/envs/root6/bin/../include/c++/v1/complex:247:
/Users/surrutiaquir/Software/MG5_aMC_v2_7_3_py3/Delphes-3.4.2/version:1:1: error: expected unqualified-id
3.4.2
^
make: *** [tmp/classes/ClassesDict.cc] Error 1
  • If I do both,
    >> Compiling external/fastjet/ClusterSequence.cc
    In file included from external/fastjet/ClusterSequence.cc:33:
    In file included from external/fastjet/ClusterSequence.hh:48:
    external/fastjet/FunctionOfPseudoJet.hh:34:10: error: 'fastjet/PseudoJet.hh'
          file not found with <angled> include; use "quotes" instead
    #include <fastjet/PseudoJet.hh>
             ^~~~~~~~~~~~~~~~~~~~~~
             "fastjet/PseudoJet.hh"
    external/fastjet/FunctionOfPseudoJet.hh:35:10: error: 'fastjet/Selector.hh' file
          not found with <angled> include; use "quotes" instead
    #include <fastjet/Selector.hh>
             ^~~~~~~~~~~~~~~~~~~~~
             "fastjet/Selector.hh"
    2 errors generated.
    make: *** [tmp/external/fastjet/ClusterSequence.o] Error 1
    

comment:4 by Pavel Demin, 4 years ago

Thank you for the test. I've removed all the VERSION files.

comment:5 by Sebastian Urrutia Quiroga, 4 years ago

You're welcome. Do you know how could I solve my compilation problem? I'm still not able to run Delphes. I even tried to use non-conda version of ROOT (i.e., compiling with cmake) and it works but I need to use the conda environment.

comment:6 by Pavel Demin, 4 years ago

Have you tried the latest version from the git repository?

It can be downloaded from the following link:

https://github.com/delphes/delphes/archive/master.zip

comment:7 by Sebastian Urrutia Quiroga, 4 years ago

I'm still getting an error:

>> Compiling validation/DelphesValidation.cpp
In file included from validation/DelphesValidation.cpp:49:
external/ExRootAnalysis/ExRootTreeWriter.h:32:8: warning: 
      'ExRootTreeWriter::Clear' hides overloaded virtual function
      [-Woverloaded-virtual]
  void Clear();
       ^
/Users/surrutiaquir/Software/Python/envs/root6/include/TNamed.h:42:21: note: 
      hidden overloaded virtual function 'TNamed::Clear' declared here:
      different number of parameters (1 vs 0)
   virtual void     Clear(Option_t *option ="");
                    ^
In file included from validation/DelphesValidation.cpp:49:
external/ExRootAnalysis/ExRootTreeWriter.h:34:8: warning: 
      'ExRootTreeWriter::Write' hides overloaded virtual functions
      [-Woverloaded-virtual]
  void Write();
       ^
/Users/surrutiaquir/Software/Python/envs/root6/include/TObject.h:148:24: note: 
      hidden overloaded virtual function 'TObject::Write' declared here:
      different number of parameters (3 vs 0)
   virtual Int_t       Write(const char *name=0, Int_t option=0, Int_t b...
                       ^
/Users/surrutiaquir/Software/Python/envs/root6/include/TObject.h:149:24: note: 
      hidden overloaded virtual function 'TObject::Write' declared here:
      different number of parameters (3 vs 0)
   virtual Int_t       Write(const char *name=0, Int_t option=0, Int_t b...
                       ^
validation/DelphesValidation.cpp:193:3: warning: 'delete' applied to a pointer
      that was allocated with 'new[]'; did you mean 'delete[]'?
      [-Wmismatched-new-delete]
  delete new_bins;
  ^
        []
validation/DelphesValidation.cpp:186:22: note: allocated with 'new[]' here
  Axis_t *new_bins = new Axis_t[bins + 1];
                     ^
validation/DelphesValidation.cpp:1196:17: error: allocation of incomplete type
      'TF1'
  TF1 *f1 = new TF1("f1", "gaus", hist->GetMean() - 2 * hist->GetRMS(), ...
                ^~~
/Users/surrutiaquir/Software/Python/envs/root6/include/TGraph.h:36:7: note: 
      forward declaration of 'TF1'
class TF1;
      ^
validation/DelphesValidation.cpp:1199:37: error: member access into incomplete
      type 'TF1'
  TF1 *f2 = new TF1("f2", "gaus", f1->GetParameter(1) - 2 * f1->GetParam...
                                    ^
/Users/surrutiaquir/Software/Python/envs/root6/include/TGraph.h:36:7: note: 
      forward declaration of 'TF1'
class TF1;
      ^
validation/DelphesValidation.cpp:1199:84: error: member access into incomplete
      type 'TF1'
  ..."gaus", f1->GetParameter(1) - 2 * f1->GetParameter(2), f1->GetParameter(...
                                                              ^
/Users/surrutiaquir/Software/Python/envs/root6/include/TGraph.h:36:7: note: 
      forward declaration of 'TF1'
class TF1;
      ^
validation/DelphesValidation.cpp:1202:20: error: member access into incomplete
      type 'TF1'
  Double_t sig = f2->GetParameter(2);
                   ^
/Users/surrutiaquir/Software/Python/envs/root6/include/TGraph.h:36:7: note: 
      forward declaration of 'TF1'
class TF1;
      ^
validation/DelphesValidation.cpp:1203:23: error: member access into incomplete
      type 'TF1'
  Double_t sigErr = f2->GetParError(2);
                      ^
/Users/surrutiaquir/Software/Python/envs/root6/include/TGraph.h:36:7: note: 
      forward declaration of 'TF1'
class TF1;
      ^
validation/DelphesValidation.cpp:1205:3: warning: deleting pointer to incomplete
      type 'TF1' may cause undefined behavior [-Wdelete-incomplete]
  delete f1;
  ^      ~~
/Users/surrutiaquir/Software/Python/envs/root6/include/TGraph.h:36:7: note: 
      forward declaration of 'TF1'
class TF1;
      ^
validation/DelphesValidation.cpp:1206:3: warning: deleting pointer to incomplete
      type 'TF1' may cause undefined behavior [-Wdelete-incomplete]
  delete f2;
  ^      ~~
/Users/surrutiaquir/Software/Python/envs/root6/include/TGraph.h:36:7: note: 
      forward declaration of 'TF1'
class TF1;
      ^
validation/DelphesValidation.cpp:1497:17: warning: unused variable
      'branchParticleBJet' [-Wunused-variable]
  TClonesArray *branchParticleBJet = treeReaderBJet->UseBranch("Particle");
                ^
validation/DelphesValidation.cpp:1500:17: warning: unused variable
      'branchParticleCJet' [-Wunused-variable]
  TClonesArray *branchParticleCJet = treeReaderCJet->UseBranch("Particle");
                ^
7 warnings and 5 errors generated.
make: *** [tmp/validation/DelphesValidation.o] Error 1

Any ideas?

comment:8 by Pavel Demin, 4 years ago

Compilation of DelphesValidation is now disabled. Please try the latest version:

https://github.com/delphes/delphes/archive/master.zip

comment:9 by Sebastian Urrutia Quiroga, 4 years ago

Now it's working, thanks!

comment:10 by Pavel Demin, 4 years ago

Resolution: fixed
Status: newclosed

The fix is in the new release (3.5.0).

Note: See TracTickets for help on using tickets.