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がインストールから得たメッセージに従って共有ライブラリの場所を知っているように見えますが、ロードできません。助けてください!