導入
UbuntuにてCERNが配布しているROOTのBessel関数のtutorial(Bessel.C)を動作しようとしたら、出たエラーの内容と対処う方法についての説明
環境
- Ubuntu 18.04.4 LTS
- ROOT 6.20/04
- gcc 7.5.0
- GNU Make 4.1
エラーの内容
ROOT installした時にあるBessel.Cを実行した際に以下のようなエラーが大量に発生。
$ root -x /path/to/root/tutorials/math/Bessel.C
...
Error in ... : Failed to load library /path/to/root/lib/libMathMore.so
...
解決方法
ROOT forumで解決方法を探していたところ、以下のリンクに行き着いた。
https://root-forum.cern.ch/t/failure-loading-library-libmathmore-so-for-root-gslintegrator/38597
調べてみると、GNU Scientific Library (GSL)が足りないらしい。
ということで、以下のようにしてこのLibraryをインストールした。
$ sudo apt-get install libgsl-dev
上記を実行して、再度Bessel.Cを実行すると正常に動作した。
ちなみに、Bessel.Cの説明は以下のリンクにある。(コードの中身と同じだが)
https://root.cern.ch/doc/master/Bessel_8C_source.html
まとめ
Ubuntu 18.04.4 LTS にて ROOT 6.20/04 をインストールしたが、tutorialフォルダの中にある Bessel.C が動作しなかった。
これは GNU Scientific Library (GSL) がインストールされていないためであり、GSLをインストールすることで解決した。