2017-11-18 20 views
0

lme4のような素敵なパッケージをたくさん使用するために、Mac OS High Sierraにnloptrパッケージをインストールしようとしています。 3.4.2。私はまた、NLoptのウェブサイトではなく、開発版からダウンロード(NLoptをインストールしました。私はすでにのためのオンライン検索、私はまた、Xcodeのコマンドラインツールがインストールされている。しかし、私はまだnloptrをインストールすることはできませんが、このNLoptrをMacにインストールできませんでした:共有オブジェクトを読み込むことができません

Error: package or namespace load failed for ‘nloptr’ in dyn.load(file, DLLpath = DLLpath, ...): 
unable to load shared object '/Users/lambda/anaconda3/lib/R/library/nloptr/libs/nloptr.so': 
dlopen(/Users/lambda/anaconda3/lib/R/library/nloptr/libs/nloptr.so, 6): Symbol not found: _nlopt_add_equality_mconstraint 
Referenced from: /Users/lambda/anaconda3/lib/R/library/nloptr/libs/nloptr.so 
Expected in: flat namespace 
in /Users/lambda/anaconda3/lib/R/library/nloptr/libs/nloptr.so 

を取得しますどうすればいいですか?/etc/ldpathsファイルのLD_LIBRARY_PATHにNLoptがインストールされているパスを追加しましたが、同じエラーが表示されますが、同じ問題が発生しています(Trouble installing nloptr package on R 3.3.0)。その質問をした人が自分で解決したので、「ルートとしてインストール」と言ったときの意味は分かりません。 nはCMakeのでNLoptを設置し、これは、多くの異なる機能に起こった:

In file included from f77api.c:103: 
./f77funcs.h:57:14: warning: 'nlopt_minimize_constrained' is deprecated 
    [-Wdeprecated-declarations] 
*info = nlopt_minimize_constrained((nlopt_algorithm) *algorithm, 
     ^
./nlopt.h:348:35: note: 'nlopt_minimize_constrained' has been explicitly marked 
    deprecated here 
int maxeval, double maxtime) NLOPT_DEPRECATED; 
          ^
./nlopt.h:320:43: note: expanded from macro 'NLOPT_DEPRECATED' 
# define NLOPT_DEPRECATED __attribute__((deprecated)) 
            ^

ライブラリがロードされていない理由は、これは可能でしょうか?

私はRcppをインストールして更新しました。 Rcppは私のコンピュータで動作します。

アップデート:デフォルトのCおよびC++コンパイラをRプロジェクトからダウンロードしたclang4に変更しました。私は再度インストールを試みたが、別のエラーを得た:

Error: package or namespace load failed for ‘nloptr’ in dyn.load(file, DLLpath = DLLpath, ...): 
unable to load shared object '/Users/lambda/anaconda3/lib/R/library/nloptr/libs/nloptr.so': 
dlopen(/Users/lambda/anaconda3/lib/R/library/nloptr/libs/nloptr.so, 6): Library not loaded: @rpath/libnlopt.0.dylib 
Referenced from: /Users/lambda/anaconda3/lib/R/library/nloptr/libs/nloptr.so 
Reason: image not found 
Error: loading failed 

私は図書館がSys.geteng(DYLD_LIBRARY_PATH = "/usr/local/lib")である場合Rを伝えることを試みたが、それは動作しませんでした。実際には、Rがインストールから得たメッセージに従って共有ライブラリの場所を知っているように見えますが、ロードできません。助けてください!

答えて

0

私はAnacondaを再インストールし、スタンドアロンのRとRStudio(Anacondaには含まれていません)をインストールし、これらのパッケージはすべて正常にインストールされました。おそらくアナコンダの中でRStudioを使うのは悪い考えです。

編集:類似のシナリオに遭遇する人のために、私はMicrosoft R Open(MRO)に切り替えました。私は最近、線形代数をたくさん扱っています。その後、MROにnloptrをインストールしようとしたときに、イメージが見つからないため共有ライブラリが読み込まれなかったという似たエラーメッセージが表示されました。私はCRAN R 3.4.3を再インストールし、そこに完全にインストールされたnloptrをインストールしました。そこで、nloptrがCRAN R 3.4.3にインストールされた場所を.libPaths()で見つけ出し、nloptrフォルダをパッケージに格納した場所にコピーし、RSwitchユーティリティを使用してRのデフォルトバージョンをMROに変更しました。次に、MROにnloptrをロードし、それに依存するパッケージをインストールし、それらのパッケージを使用しました。彼らはうまくいった。エラーを引き起こしたMROに何が問題なのか分かりませんが、少なくともこれはうまくいきました。

関連する問題