Open jiabowang opened 7 months ago
Hi, I’m not sure about the cause of the error but the message contains a suggestion: "Pass -std=c++17 as compiler argument."
Mayo Clinic, 200 1st street SW, Harwick 7-91 Rochester, MN 55905 www.abyzovlab.org http://www.abyzovlab.orgtel: +1-(507)-538-0978
Hi there,
When I was installing the CNVnator, this error occurred.
[root@yak000 src]# make Compiling with parallel (OpenMP) support g++ -O3 -std=c++11 -DCNVNATOR_VERSION=\"v0.4.1\" -fopenmp -I/home/Software/root/include -Isamtools -c cnvnator.cpp -o obj/cnvnator.o In file included from /home/Software/root/include/ROOT/RConfig.hxx:23, from /home/Software/root/include/RtypesCore.h:23, from /home/Software/root/include/Rtypes.h:23, from /home/Software/root/include/TObject.h:17, from /home/Software/root/include/TBox.h:15, from /home/Software/root/include/TWbox.h:16, from /home/Software/root/include/TFrame.h:16, from HisMaker.hh:15, from cnvnator.cpp:15: /home/Software/root/include/RConfigure.h:30:4: warning: #warning "The C++ standard in this build does not match ROOT configuration (201703L); this might cause unexpected issues" [-Wcpp] 30 | # warning "The C++ standard in this build does not match ROOT configuration (201703L); this might cause unexpected issues" | ^...>;
| ^...>;
| ^...>;
| ^
/home/Software/root/include/ROOT/TypeTraits.hxx:57:54: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’?
57 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t...>;
| ^...>;
| ^...>;
| ^
/home/Software/root/include/ROOT/TypeTraits.hxx:65:54: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’?
65 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t...>;
| ^...>;
| ^...>;
| ^
/home/Software/root/include/ROOT/TypeTraits.hxx:73:54: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’?
73 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t...>;
| ^...>;
| ^...>;
| ^
/home/Software/root/include/ROOT/TypeTraits.hxx:201:29: error: ‘result_of_t’ in namespace ‘std’ does not name a template type; did you mean ‘result_of’?
201 | using InvokeResult_t = std::result_of_t<F(Args...)>;
| ^())), isDynamic>;
| ^())), isDynamic>;
| ^())), isDynamic>;
| ^
/home/Software/root/include/ROOT/RRangeCast.hxx:145:4: error: ‘const_iterator’ does not name a type
145 | const_iterator begin() const { return std::cbegin(fInputRange); }
| ^::Build(TF1, Func)’:
/home/Software/root/include/TF1.h:732:28: error: ‘make_unique’ is not a member of ‘std’
732 | f->fParams = std::make_unique(f->fNpar);
| ^(f->fNpar);
| ^
/home/Software/root/include/TF1.h: In static member function ‘static void ROOT::Internal::TF1Builder<Func >::Build(TF1, Func)’:
/home/Software/root/include/TF1.h:741:28: error: ‘make_unique’ is not a member of ‘std’
741 | f->fParams = std::make_unique(f->fNpar);
| ^(f->fNpar);
| ^
/home/Software/root/include/TF1.h: In static member function ‘static void ROOT::Internal::TF1Builder<const char>::Build(TF1, const char*)’:
/home/Software/root/include/TF1.h:751:32: error: ‘make_unique’ is not a member of ‘std’
751 | f->fFormula = std::make_unique("tf1lambda", formula, f->fNdim, f->fNpar, false);
| ^("tf1lambda", formula, f->fNdim, f->fNpar, false);
| ^
/home/Software/root/include/TF1.h: In member function ‘void TF1::SetFunction(Func)’:
/home/Software/root/include/TF1.h:849:20: error: ‘make_unique’ is not a member of ‘std’
849 | fFunctor = std::make_unique<TF1::TF1FunctorPointerImpl>(ROOT::Math::ParamFunctor(f));
| ^>(ROOT::Math::ParamFunctor(f));
| ^~
/home/Software/root/include/TF1.h: In member function ‘void TF1::SetFunction(PtrObj&, MemFn)’:
/home/Software/root/include/TF1.h:856:20: error: ‘make_unique’ is not a member of ‘std’
856 | fFunctor = std::make_unique<TF1::TF1FunctorPointerImpl>(ROOT::Math::ParamFunctor(p, memFn));
| ^>(ROOT::Math::ParamFunctor(p, memFn));
| ^~
In file included from /home/Software/root/include/TPad.h:15,
from /home/Software/root/include/TCanvas.h:15,
from HisMaker.hh:29,
from cnvnator.cpp:15:
/home/Software/root/include/TVirtualPad.h: At global scope:
/home/Software/root/include/TVirtualPad.h:68:8: error: ‘IsInteractive’ function uses ‘auto’ type specifier without trailing return type
68 | auto IsInteractive() const { return fInteractive; }
| ^~~~
/home/Software/root/include/TVirtualPad.h:68:8: note: deduced return type only available with ‘-std=c++14’ or ‘-std=gnu++14’
/home/Software/root/include/TVirtualPad.h:69:8: error: ‘GetSaved’ function uses ‘auto’ type specifier without trailing return type
69 | auto GetSaved() const { return fSaved; }
| ^~~~
/home/Software/root/include/TVirtualPad.h:69:8: note: deduced return type only available with ‘-std=c++14’ or ‘-std=gnu++14’
make: *** [Makefile:70: obj/cnvnator.o] Error 1
~~ In file included from /home/Software/root/include/RtypesCore.h:23, from /home/Software/root/include/Rtypes.h:23, from /home/Software/root/include/TObject.h:17, from /home/Software/root/include/TBox.h:15, from /home/Software/root/include/TWbox.h:16, from /home/Software/root/include/TFrame.h:16, from HisMaker.hh:15, from cnvnator.cpp:15: /home/Software/root/include/ROOT/RConfig.hxx:48:2: error: #error "ROOT requires support for C++17 or higher." 48 | #error "ROOT requires support for C++17 or higher." | ^~~~~ /home/Software/root/include/ROOT/RConfig.hxx:50:2: error: #error "Pass-std=c++17
as compiler argument." 50 | #error "Pass-std=c++17
as compiler argument." | ^~~~~ In file included from /home/Software/root/include/TString.h:29, from /home/Software/root/include/TNamed.h:26, from /home/Software/root/include/TColor.h:15, from /home/Software/root/include/TWbox.h:18, from /home/Software/root/include/TFrame.h:16, from HisMaker.hh:15, from cnvnator.cpp:15: /home/Software/root/include/ROOT/RStringView.hxx:90:17: error: expected type-specifier 90 | operator std::string_view() const { return std::string_view(fData,fLength); } | ^~~ In file included from /home/Software/root/include/TString.h:30, from /home/Software/root/include/TNamed.h:26, from /home/Software/root/include/TColor.h:15, from /home/Software/root/include/TWbox.h:18, from /home/Software/root/include/TFrame.h:16, from HisMaker.hh:15, from cnvnator.cpp:15: /home/Software/root/include/ROOT/TypeTraits.hxx:49:54: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’? 49 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t~~ | decay /home/Software/root/include/ROOT/TypeTraits.hxx:49:54: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’? 49 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t~~ | decay /home/Software/root/include/ROOT/TypeTraits.hxx:49:66: error: template argument 1 is invalid 49 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t~~ | decay /home/Software/root/include/ROOT/TypeTraits.hxx:57:54: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’? 57 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t~~ | decay /home/Software/root/include/ROOT/TypeTraits.hxx:57:66: error: template argument 1 is invalid 57 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t~~ | decay /home/Software/root/include/ROOT/TypeTraits.hxx:65:54: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’? 65 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t~~ | decay /home/Software/root/include/ROOT/TypeTraits.hxx:65:66: error: template argument 1 is invalid 65 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t~~ | decay /home/Software/root/include/ROOT/TypeTraits.hxx:73:54: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’? 73 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t~~ | decay /home/Software/root/include/ROOT/TypeTraits.hxx:73:66: error: template argument 1 is invalid 73 | using arg_types = ROOT::TypeTraits::TypeList<std::decay_t~~| result_of In file included from /home/Software/root/include/TNamed.h:26, from /home/Software/root/include/TColor.h:15, from /home/Software/root/include/TWbox.h:18, from /home/Software/root/include/TFrame.h:16, from HisMaker.hh:15, from cnvnator.cpp:15: /home/Software/root/include/TString.h:118:13: error: expected type-specifier 118 | operator std::string_view() const { return std::string_view(Data(),fExtent); } | ^~~ /home/Software/root/include/TString.h:291:32: error: ‘string_view’ in namespace ‘std’ does not name a type 291 | explicit TString(const std::string_view &sub); | ^~~/home/Software/root/include/TString.h:291:27: note: ‘std::string_view’ is only available from C++17 onwards 291 | explicit TString(const std::string_view &sub); | ^~~ /home/Software/root/include/TString.h:328:37: error: ‘string_view’ in namespace ‘std’ does not name a type 328 | TString &operator=(const std::string_view &s); | ^~~/home/Software/root/include/TString.h:328:32: note: ‘std::string_view’ is only available from C++17 onwards 328 | TString &operator=(const std::string_view &s); | ^~~ /home/Software/root/include/TString.h:456:9: error: ‘string_view’ in namespace ‘std’ does not name a type 456 | std::string_view View() const { return std::string_view(GetPointer(),Length()); } | ^~~/home/Software/root/include/TString.h:456:4: note: ‘std::string_view’ is only available from C++17 onwards 456 | std::string_view View() const { return std::string_view(GetPointer(),Length()); } | ^~~ In file included from /home/Software/root/include/TNamed.h:26, from /home/Software/root/include/TColor.h:15, from /home/Software/root/include/TWbox.h:18, from /home/Software/root/include/TFrame.h:16, from HisMaker.hh:15, from cnvnator.cpp:15: /home/Software/root/include/TString.h:851:53: error: ‘string_view’ in namespace ‘std’ does not name a type 851 | inline Bool_t operator==(const char s1, const std::string_view &s2) | ^~~/home/Software/root/include/TString.h:851:48: note: ‘std::string_view’ is only available from C++17 onwards 851 | inline Bool_t operator==(const char s1, const std::string_view &s2) | ^~~ /home/Software/root/include/TString.h:851:15: error: ‘Bool_t operator==(const char, const int&)’ must have an argument of class or enumerated type 851 | inline Bool_t operator==(const char s1, const std::string_view &s2) | ^~~~ /home/Software/root/include/TString.h:856:37: error: ‘string_view’ in namespace ‘std’ does not name a type 856 | inline Bool_t operator==(const std::string_view &s1, const char s2) | ^~~/home/Software/root/include/TString.h:856:32: note: ‘std::string_view’ is only available from C++17 onwards 856 | inline Bool_t operator==(const std::string_view &s1, const char s2) | ^~~ /home/Software/root/include/TString.h:856:15: error: ‘Bool_t operator==(const int&, const char)’ must have an argument of class or enumerated type 856 | inline Bool_t operator==(const std::string_view &s1, const char s2) | ^~~~ /home/Software/root/include/TString.h:869:37: error: ‘string_view’ in namespace ‘std’ does not name a type 869 | std::string printValue(const std::string_view val); | ^~~/home/Software/root/include/TString.h:869:32: note: ‘std::string_view’ is only available from C++17 onwards 869 | std::string printValue(const std::string_view val); | ^~~ In file included from /home/Software/root/include/TCollection.h:33, from /home/Software/root/include/TSeqCollection.h:25, from /home/Software/root/include/TObjArray.h:25, from /home/Software/root/include/TClass.h:29, from /home/Software/root/include/TKey.h:17, from HisMaker.hh:16, from cnvnator.cpp:15: /home/Software/root/include/ROOT/RRangeCast.hxx:144:64: error: ‘cbegin’ is not a member of ‘std’; did you mean ‘begin’? 144 | using const_iterator = Internal::TypedIter<T, decltype(std::cbegin(std::declval~| begin /home/Software/root/include/ROOT/RRangeCast.hxx:144:64: error: ‘cbegin’ is not a member of ‘std’; did you mean ‘begin’? 144 | using const_iterator = Internal::TypedIter<T, decltype(std::cbegin(std::declval~| begin /home/Software/root/include/ROOT/RRangeCast.hxx:144:107: error: template argument 2 is invalid 144 | using const_iterator = Internal::TypedIter<T, decltype(std::cbegin(std::declval~~~~~ /home/Software/root/include/ROOT/RRangeCast.hxx:146:4: error: ‘const_iterator’ does not name a type 146 | const_iterator end() const { return std::cend(fInputRange); } | ^~~~~~ In file included from /home/Software/root/include/TROOT.h:28, from HisMaker.hh:18, from cnvnator.cpp:15: /home/Software/root/include/TDirectory.h:281:16: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 281 | inline std::enable_if_t<!std::is_base_of<TObject, T>::value, Int_t> | ^~~/home/Software/root/include/TDirectory.h:281:11: note: ‘std::enable_if_t’ is only available from C++14 onwards 281 | inline std::enable_if_t<!std::is_base_of<TObject, T>::value, Int_t> | ^~~ /home/Software/root/include/TDirectory.h:295:16: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 295 | inline std::enable_if_t<std::is_base_of<TObject, T>::value, Int_t> | ^~~/home/Software/root/include/TDirectory.h:295:11: note: ‘std::enable_if_t’ is only available from C++14 onwards 295 | inline std::enable_if_t<std::is_base_of<TObject, T>::value, Int_t> | ^~~ In file included from HisMaker.hh:21, from cnvnator.cpp:15: /home/Software/root/include/TFile.h:335:45: error: ‘std::string_view’ has not been declared 335 | static Bool_t SetCacheFileDir(std::string_view cacheDir, Bool_t operateDisconnected = kTRUE, | ^~~/home/Software/root/include/TFile.h: In static member function ‘static Bool_t TFile::SetCacheFileDir(ROOT::Internal::TStringView, Bool_t, Bool_t)’: /home/Software/root/include/TFile.h:334:36: error: ‘string_view’ is not a member of ‘std’ 334 | { return SetCacheFileDir(std::string_view(cacheDir), operateDisconnected, forceCacheread); } | ^~~/home/Software/root/include/TFile.h:334:36: note: ‘std::string_view’ is only available from C++17 onwards In file included from HisMaker.hh:27, from cnvnator.cpp:15: /home/Software/root/include/TF1.h: In static member function ‘static void ROOT::Internal::TF1Builder~~/home/Software/root/include/TF1.h:732:28: note: ‘std::make_unique’ is only available from C++14 onwards /home/Software/root/include/TF1.h:732:53: error: expected primary-expression before ‘>’ token 732 | f->fParams = std::make_unique~~/home/Software/root/include/TF1.h:741:28: note: ‘std::make_unique’ is only available from C++14 onwards /home/Software/root/include/TF1.h:741:53: error: expected primary-expression before ‘>’ token 741 | f->fParams = std::make_unique~~/home/Software/root/include/TF1.h:751:32: note: ‘std::make_unique’ is only available from C++14 onwards /home/Software/root/include/TF1.h:751:52: error: expected primary-expression before ‘>’ token 751 | f->fFormula = std::make_unique~~/home/Software/root/include/TF1.h:849:20: note: ‘std::make_unique’ is only available from C++14 onwards /home/Software/root/include/TF1.h:849:65: error: expected primary-expression before ‘>’ token 849 | fFunctor = std::make_unique<TF1::TF1FunctorPointerImpl~~/home/Software/root/include/TF1.h:856:20: note: ‘std::make_unique’ is only available from C++14 onwards /home/Software/root/include/TF1.h:856:65: error: expected primary-expression before ‘>’ token 856 | fFunctor = std::make_unique<TF1::TF1FunctorPointerImpl