1

Redhat Linux マシンに RQuantLib をインストールしようとしています。試行錯誤の 1 か月 (恥ずかしいほど長い時間!) の後、最新バージョンの boost と quantlib のコンパイルに成功しました。私は Linux の専門家ではないので、install.packages("RQuantLib") を実行するときにコンパイル フラグをデバッグするのに少し苦労しています。Rcpp もインストールされ、完全に機能しています。

以下のエラー メッセージに、問題の詳細が示されています。必要だと思うファイル (libQuantLib.so.0) が /usr/local/lib に存在するため、混乱しています。これはばかげた質問である可能性が高く申し訳ありませんが、Linux の R で quantlib にアクセスできるようになるのは非常に近いと思います。

エラー メッセージは次のとおりです。

g++ -I/apps/R/R-3.0.0/include -DNDEBUG  -I/usr/local/include -I"/apps/R/R-3.0.0/library/Rcpp/include"  -g -O2  -I/usr/local/include -I/usr/loca
l/include/boost  -I. -fpic  -g -O2  -c zero.cpp -o zero.o

g++ -shared -L/usr/local/lib64 -o RQuantLib.so asian.o barrier_binary.o bermudan.o bonds.o calendars.o curves.o daycounter.o discount.o hullwhi
te.o implieds.o utils.o vanilla.o zero.o -L/apps/R/R-3.0.0/library/Rcpp/lib -lRcpp -Wl,-rpath,/apps/R/R-3.0.0/library/Rcpp/lib -L/usr/local/lib
-L/usr/local/lib -lQuantLib

installing to /apps/R/R-3.0.0/library/RQuantLib/libs
** R
** demo
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded

Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/apps/R/R-3.0.0/library/RQuantLib/libs/RQuantLib.so':
  libQuantLib.so.0: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
4

1 に答える 1

5

ダイナミック ローダーがまだ QuantLib を追加したことを認識していない可能性があります。行を追加してみてください

/usr/local/lib

(まだそこに/etc/ld.so.confない場合)に実行してから実行します

sudo ldconfig

ld.soシステムには、両方のマニュアル ページが必要ldconfigです。自分が何をしているのかを理解したい場合は、常に良い提案です。特にsudoモードでは、インターネット上で見知らぬ人から与えられたコマンドを実行しないでください:)

上記を実行すると、ロードできるはずですlibQuantLib

于 2013-09-05T22:20:48.880 に答える