abyzovlab / CNVnator

a tool for CNV discovery and genotyping from depth-of-coverage by mapped reads
Other
206 stars 65 forks source link

Install CNVnator with problem #287

Open jiabowang opened 4 months ago

jiabowang commented 4 months ago

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" | ^~~ 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...>; | ^ /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: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...>; | ^ /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: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...>; | ^ /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: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...>; | ^ /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...)>; | ^~~ | 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())), isDynamic>; | ^~ | 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())), isDynamic>; | ^~ | 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())), 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); } | ^~~~~~ /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::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); | ^~~ /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(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); | ^~~ /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(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); | ^~~ /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("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)); | ^~~ /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>(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)); | ^~~ /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>(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

abyzov commented 4 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."

Alexej Abyzov, Ph.D., Consultant Associate Professor of Biomedical Informatics, Department of Quantitative Health Sciences, Center for Individualized Medicine, Mayo Clinic

Mayo Clinic, 200 1st street SW, Harwick 7-91 Rochester, MN 55905 www.abyzovlab.org http://www.abyzovlab.orgtel: +1-(507)-538-0978