ROOTおよびC++の超初心者です。
実現したいこと
MacでROOTのRooUnfoldをコンパイルし、使用したい。
背景 / 発生している問題・エラーメッセージ
(1) MacにROOTをインストール。ROOT自体は起動した。
(2) RooUnfoldを使用するためにhttps://gitlab.cern.ch/RooUnfold/RooUnfold からRooUnfold-master.zipをダウンロード・解凍し、同ページの "Building the Library"の記述通りに以下を実行:
bash
1cd RooUnfold-master 2mkdir build 3cd build 4cmake .. 5make -j4 6cd .. 7source build/setup.sh
(3) しかし、以下のようなエラーメッセージが出てきてコンパイルできない。
bash
1$ cd RooUnfold-master 2$ mkdir build 3$ cd build 4$ cmake .. 5CMake Deprecation Warning at CMakeLists.txt:10 (cmake_minimum_required): 6 Compatibility with CMake < 2.8.12 will be removed from a future version of 7 CMake. 8 9 Update the VERSION argument <min> value or use a ...<max> suffix to tell 10 CMake that the project does not need compatibility with older versions. 11 12 13Setup using plain ROOT 14Doxygen build started 15-- Configuring done 16-- Generating done 17-- Build files have been written to: /Users/XXXXXX/RooUnfold-master/build 18 19$ make -j4 20[ 2%] Generating G__RooUnfold.cxx, libRooUnfold_rdict.pcm, libRooUnfold.rootmap 21Scanning dependencies of target RooUnfold 22[ 9%] Building CXX object CMakeFiles/RooUnfold.dir/src/RooUnfoldBayes.o 23[ 9%] Building CXX object CMakeFiles/RooUnfold.dir/src/RooUnfold.o 24[ 9%] Building CXX object CMakeFiles/RooUnfold.dir/src/RooFitUnfold.o 25[ 12%] Building CXX object CMakeFiles/RooUnfold.dir/src/RooUnfoldBinByBin.o 26In file included from /Users/XXXXXX/RooUnfold-master/src/RooUnfoldBinByBin.cxx:8: 27/Users/XXXXXX/RooUnfold-master/src/RooUnfoldBinByBin.h:44:3: warning: 'CheckTObjectHashConsistency' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 28 ClassDefT (RooUnfoldBinByBinT, 1) // Bin-by-bin unfolding 29 ^ 30/opt/homebrew/Cellar/root/6.26.04_1/include/root/Rtypes.h:392:4: note: expanded from macro 'ClassDefT' 31 _ClassDefOutline_(name,id,virtual,) \ 32 ^ 33/opt/homebrew/Cellar/root/6.26.04_1/include/root/Rtypes.h:300:4: note: expanded from macro '_ClassDefOutline_' 34 _ClassDefBase_(name,id, virtual_keyword, overrd) \ 35 ^ 36 37(中略) 38 3997 warnings generated. 40[ 63%] Linking CXX shared library libRooUnfold.dylib 41[ 63%] Built target RooUnfold 42[ 73%] Building CXX object CMakeFiles/RooUnfoldTest3D.dir/test/src/RooUnfoldTest3D.o 43[ 73%] Building CXX object test/CMakeFiles/RooUnfoldTests.dir/src/generate_test.o 44[ 73%] Building CXX object CMakeFiles/RooUnfoldTest2D.dir/test/src/RooUnfoldTest2D.o 45[ 73%] Building CXX object CMakeFiles/RooUnfoldTest.dir/test/src/RooUnfoldTest.o 46[ 75%] Building CXX object test/CMakeFiles/RooUnfoldTests.dir/src/response_test.o 47[ 78%] Linking CXX executable RooUnfoldTest 48ld: library not found for -lgcov 49clang: error: linker command failed with exit code 1 (use -v to see invocation) 50make[2]: *** [RooUnfoldTest] Error 1 51make[1]: *** [CMakeFiles/RooUnfoldTest.dir/all] Error 2 52make[1]: *** Waiting for unfinished jobs.... 53[ 80%] Building CXX object test/CMakeFiles/RooUnfoldTests.dir/src/bayes_test.o 54[ 82%] Linking CXX executable RooUnfoldTest2D 55ld: library not found for -lgcov 56clang: error: linker command failed with exit code 1 (use -v to see invocation) 57make[2]: *** [RooUnfoldTest2D] Error 1 58make[1]: *** [CMakeFiles/RooUnfoldTest2D.dir/all] Error 2 59[ 85%] Linking CXX executable RooUnfoldTest3D 60[ 87%] Building CXX object test/CMakeFiles/RooUnfoldTests.dir/src/RooUnfold_unit_tests.o 61ld: library not found for -lgcov 62clang: error: linker command failed with exit code 1 (use -v to see invocation) 63make[2]: *** [RooUnfoldTest3D] Error 1 64make[1]: *** [CMakeFiles/RooUnfoldTest3D.dir/all] Error 2 65In file included from /Users/XXXXXX/RooUnfold-master/test/src/bayes_test.cxx:13: 66/Users/XXXXXX/RooUnfold-master/src/RooUnfoldBayes.h:45:17: warning: 'SetRegParm' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 67 virtual void SetRegParm (Double_t parm); 68 ^ 69/Users/XXXXXX/RooUnfold-master/test/src/bayes_test.cxx:31:20: note: in instantiation of template class 'RooUnfoldBayesT<TH1, TH2>' requested here 70 RooUnfoldBayes unfold(&response, h_meas, 4); 71 ^ 72/Users/XXXXXX/RooUnfold-master/src/RooUnfold.h:115:22: note: overridden virtual function is here 73 virtual void SetRegParm (Double_t parm); 74 ^ 75In file included from /Users/XXXXXX/RooUnfold-master/test/src/bayes_test.cxx:13: 76/Users/XXXXXX/RooUnfold-master/src/RooUnfoldBayes.h:46:18: warning: 'GetRegParm' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 77 virtual double GetRegParm() const; 78 ^ 79/Users/XXXXXX/RooUnfold-master/src/RooUnfold.h:116:22: note: overridden virtual function is here 80 virtual Double_t GetRegParm() const; // Get Regularisation Parameter 81 ^ 82In file included from /Users/XXXXXX/RooUnfold-master/test/src/bayes_test.cxx:13: 83/Users/XXXXXX/RooUnfold-master/src/RooUnfoldBayes.h:47:16: warning: 'Reset' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 84 virtual void Reset(); 85 ^ 86/Users/XXXXXX/RooUnfold-master/src/RooUnfold.h:74:16: note: overridden virtual function is here 87 virtual void Reset (); 88 ^ 89In file included from /Users/XXXXXX/RooUnfold-master/test/src/bayes_test.cxx:13: 90/Users/XXXXXX/RooUnfold-master/src/RooUnfoldBayes.h:48:16: warning: 'Print' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] 91 virtual void Print (Option_t* option= "") const; 92 ^ 93/Users/XXXXXX/RooUnfold-master/src/RooUnfold.h:129:8: note: overridden virtual function is here 94 void Print(Option_t* opt="") const; 95 ^ 96/Users/XXXXXX/RooUnfold-master/test/src/RooUnfold_unit_tests.cxx:29:62: warning: format specifies type 'unsigned int' but the argument has type 'std::vector<float>::size_type' (aka 'unsigned long') [-Wformat] 97 check(n==r.size(), "error in bayes: %d bins is not %u",n,r.size()); 98 ~~ ^~~~~~~~ 99 %lu 100/Users/XXXXXX/RooUnfold-master/test/src/dbg.h:30:18: note: expanded from macro 'check' 101 log_err(M, ##__VA_ARGS__); errno=0; goto error; } 102 ~ ^~~~~~~~~~~ 103/Users/XXXXXX/RooUnfold-master/test/src/dbg.h:20:26: note: expanded from macro 'log_err' 104 clean_errno(), ##__VA_ARGS__) 105 ^~~~~~~~~~~ 1064 warnings generated. 1071 warning generated. 108[ 90%] Linking CXX static library libRooUnfoldTests.a 109[ 90%] Built target RooUnfoldTests 110make: *** [all] Error 2
質問内容
以上のエラーを解消し、Macで正常にRooUnfoldを使用するにはどうすれば良いでしょうか?
特に
bash
1ld: library not found for -lgcov 2clang: error: linker command failed with exit code 1 (use -v to see invocation)
のようなlikerのエラーと
bash
1warning: 'SetRegParm' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
のようなoverridesのエラーを理解・解決したいと思っています。
ROOTやC++を使ったことがほとんどなく、初心者質問で大変恐縮ですが、よろしくお願いします。
環境
- Mac OS : Monterey ver. 12.3
- チップ:Apple M1 Pro
- ROOT : ver. 6.26
shell
1$ root --version 2ROOT Version: 6.26/04 3Built for macosxarm64 on Jun 07 2022, 16:01:16 4From tags/v6-26-04@v6-26-04
- gcc : ver. 13.1.6
shell
1$ gcc --version 2Apple clang version 13.1.6 (clang-1316.0.21.2) 3Target: arm64-apple-darwin21.4.0 4Thread model: posix 5InstalledDir: /Library/Developer/CommandLineTools/usr/bin
shellはzshです

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。