Bir MAC işletim sistemine (yosemite) kurmaya çalıştığım bir R paketim var ve bir bağlayıcı sorunuyla karşılaşıyorum. Bu benimRcppArmadillo: Mac'te paketi yüklerken hata
clang++ -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o File1.so File2.o File3.o File4.o RcppExports.o Utils.o -L/Library/Frameworks/R.framework/Resources/lib -lRlapack -L/Library/Frameworks/R.framework/Resources/lib -lRblas -L/usr/local/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2 -lgfortran -lquadmath -lm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: warning: directory not found for option '-L/usr/local/lib/gcc/x86_64-apple-darwin13.0.0/4.8.2'
ld: library not found for -lgfortran
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mypackage.so] Error 1
ERROR: compilation failed for package ‘mypackage’
Benim Makevars
dosyayı alıyorum hatadır içerir:
DESCRIPTION
yılında
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
, ben:
Depends:
R (>= 3.2.0),
Rcpp,
RcppArmadillo
LinkingTo: Rcpp, RcppArmadillo
ve R/help.R
yılında, var:
#' @importFrom Rcpp evalCpp
#' @import RcppArmadillo
#' @useDynLib mypackage
NULL
#include <iostream>
#include <algorithm>
#include <cmath>
#include <Rmath.h>
#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]
bir şey eksik:Bu, question Zaten diğer .cpp
dosyalar tarafından indluced ediliyor başlık dosyasına Armadillo bağımlılıkları dahil çünkü aynı sorunu değildir? Makefile değiştirilecek mi?
Olası yinelenen [ Rcpp hatası:/usr/bin/ld -lgfortran bulamıyor ] (http://stackoverflow.com/questions/23767816/rcpp-error-usr-bin-ld-cannot-find-lgfortran) – nrussell
@nrussel Öyle düşünmüyorum, zaten RcppArmadillo bağımlılığı dahil. – Cauchy
IIRC benzer bir sorunla karşılaştığımda, gfortran'ı research.att'tan yükleyerek çözdüm, http://stackoverflow.com/a/25912049/471093 – baptiste