2016-04-09 2 views
0

J'ai essayé d'installer la dernière version de PerformanceAnalytics en utilisant deux méthodes suggérées dans a well answered question par @GSee et @hadley.install.packages + type = "source" et R CMD INSTALL --build échoue à installer PerformanceAnalytics

Je n'ai aucune idée d'où est allé mal. Quelqu'un pourrait-il avoir un butin?

La première méthode que j'essayé utilise le code suivant:

install.packages("/Users/Natsume/Downloads/R packages/PerformanceAnalytics_1.4.4000.tar.gz", repos = NULL, type="source") 

Je reçu le message d'erreur suivant:

* installing *source* package ‘PerformanceAnalytics’ ... 
** libs 
gfortran-4.8 -fPIC -Wall -g -O2 -c momentF.f90 -o momentF.o 
make: gfortran-4.8: No such file or directory 
make: *** [momentF.o] Error 1 
ERROR: compilation failed for package ‘PerformanceAnalytics’ 
* removing ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library/PerformanceAnalytics’ 
* restoring previous ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library/PerformanceAnalytics’ 
Warning in install.packages : 
    installation of package ‘/Users/Natsume/Downloads/R packages/PerformanceAnalytics_1.4.4000.tar.gz’ had non-zero exit status 

La deuxième méthode que j'ai essayé suit @ méthode de GSEE exactement, mais l'erreur s'est produit lorsque j'ai exécuté le code suivant:

R --vanilla CMD INSTALL --build returnanalytics/pkg/PerformanceAnalyt 

Voici le message d'erreur:

* installing to library ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library’ 
* installing *source* package ‘PerformanceAnalytics’ ... 
** libs 
gfortran-4.8 -fPIC -Wall -g -O2 -c momentF.f90 -o momentF.o 
make: gfortran-4.8: No such file or directory 
make: *** [momentF.o] Error 1 
ERROR: compilation failed for package ‘PerformanceAnalytics’ 
* removing ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library/PerformanceAnalytics’ 
* restoring previous ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library/PerformanceAnalytics’ 
+0

L'erreur semble être sans rapport avec le package. Apparemment, le système ne trouve pas le compilateur Fortran. Si vous utilisez un système Linux, vous pouvez essayer d'installer le compilateur avec 'sudo apt-get install gfortran-4.8' et voir si le problème persiste. – RHertel

+1

Vous devez pouvoir installer le code compilé depuis la source. Voir [Section 6.3.2 OS X dans R Installation et administration] (https://cran.r-project.org/doc/manuals/r-release/R-admin.html#OS-X-packages) et [Annexe C.3] (https://cran.r-project.org/doc/manuals/r-release/R-admin.html#OS-X). Je n'utilise pas de Mac, donc je n'ai pas beaucoup d'aide pour pointer vers les docs pertinents ... –

+0

Nous avons récemment ajouté/développé des entrées dans [FAQ Rcpp] (https: //cloud.r-project.org/web/packages/Rcpp/vignettes/Rcpp-FAQ.pdf) qui traitent du même problème - il faut 'gfortran' pour utiliser RcppArmadillo et ses bibliothèques LAPACK pour la liaison (même si nous n'incluons pas directement Fortran). La chaîne d'outils est la même, donc ces deux entrées et liens devraient vous aider. –

Répondre

0

Merci @ Dirk Eddelbuettel, @Joshua Ulrich, @RHertel pour vos réponses utiles.

J'ai essayé beaucoup de choses, certaines d'entre elles ne sont pas complètement terminées. Je ne suis pas sûr de savoir lequel a fonctionné. mais ce que je l'ai fait:

  • terme, ces deux lignes

curl -O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2
sudo tar fvxz gfortran-4.8.2-darwin13.tar.bz2 -C /

  • Cependant, je me suis souvenu à ce moment je suis en mesure d'installer PerformanceAnalytics mais library(PerformanceAnalytics) causé les erreurs. Et je ne suis pas sûr que mon mac a réussi à traverser ces deux lignes. Donc, je suis allé télécharger gfortran4.8 d'ailleurs.

  • installer gfortran4.8 de here

  • installer gfortran 5 de here
  • Cependant, quelque chose ne toujours pas droit. Je devinais peut-être que je devrais désinstaller gfortran4.8, donc j'ai couru le code suivant:

en quelque sorte, il semblait travailler. Mais apparemment, je n'ai aucune idée qui m'a aidé à obtenir install.packages + type="source" sur PerformanceAnalytics package fait. En outre, il a produit beaucoup d'avertissements comme suit:

> install.packages("/Users/Natsume/Downloads/R packages/PerformanceAnalytics_1.4.4000.tar.gz", repos = NULL, type="source") 
* installing *source* package ‘PerformanceAnalytics’ ... 
** libs 
gfortran-4.8 -fPIC -Wall -g -O2 -c momentF.f90 -o momentF.o 
gfortran-4.8: warning: couldn’t understand kern.osversion ‘15.4.0 
momentF.f90:2.1: 

subroutine asVecCov1(ia, n, oa) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:8.1: 

implicit none 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:11.1: 

integer :: n 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:12.1: 

double precision :: ia(n), oa(n*n) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:15.1: 

integer :: i, j, ii 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:20.1: 

ii = 1 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:21.1: 

do j=1,n 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:22.1: 

    do i=1,n 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:23.1: 

    oa(ii) = ia(i) * ia(j) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:24.1: 

    ii = ii + 1 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:25.1: 

    end do 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:26.1: 

end do 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:28.1: 

end subroutine asVecCov1 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:30.1: 

subroutine asVec(im, nr, nc, oa) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:38.1: 

implicit none 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:41.1: 

integer :: nr, nc 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:42.1: 

double precision :: im(nr,nc), oa(nr * nc) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:45.1: 

integer :: i, j 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:50.1: 

do j=1,nc 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:51.1: 

    do i=1,nr 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:52.1: 

    oa(i + (j-1) * nr) = im(i,j) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:53.1: 

    end do 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:54.1: 

end do 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:56.1: 

end subroutine asVec 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:58.1: 

subroutine M3(x, mu, nr, nc, C, om) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:68.1: 

implicit none 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:71.1: 

integer :: nr, nc 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:72.1: 

double precision :: x(nr, nc), mu(nc), om(nc, nc*nc), C(nc*nc, nc) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:75.1: 

integer :: i 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:76.1: 

double precision :: alpha, beta 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:77.1: 

double precision :: centret(nc), tccr(nc * nc) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:79.1: 

alpha = 1.d0 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:80.1: 

beta = 1.d0 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:82.1: 

do i=1,nr 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:83.1: 

    centret = x(i,:) - mu 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:86.1: 

    call asVecCov1(centret, nc, tccr) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:94.1: 

    call DGEMM('N', 'N', nc*nc, nc, 1, alpha, tccr, nc*nc, centret, 1, beta, C, n 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:95.1: 

end do 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:97.1: 

om = transpose(C)/DBLE(nr) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:120.1: 

end subroutine M3 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:122.1: 

subroutine M4(x, mu, nr, nc, D, om) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:132.1: 

implicit none 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:135.1: 

integer :: nr, nc 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:136.1: 

double precision :: x(nr, nc), mu(nc), om(nc, nc*nc*nc), D(nc*nc*nc, nc) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:139.1: 

integer :: i 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:140.1: 

double precision :: alpha, beta, beta1 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:141.1: 

double precision :: centret(nc), tccr(nc * nc), tccr2(nc * nc * nc), C(nc*nc, 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:143.1: 

alpha = 1.d0 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:144.1: 

beta = 0.d0 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:145.1: 

beta1 = 1.d0 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:147.1: 

do i=1,nr 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:148.1: 

    centret = x(i,:) - mu 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:152.1: 

    call asVecCov1(centret, nc, tccr) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:159.1: 

    call asVec(C, nc*nc, nc, tccr2) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:162.1: 

    call DGEMM('N', 'N', nc*nc*nc, nc, 1, alpha, tccr2, nc*nc*nc, centret, 1, bet 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:163.1: 

end do 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:165.1: 

om = transpose(D)/DBLE(nr) 
1 
Warning: Nonconforming tab character at (1) 
momentF.f90:188.1: 

end subroutine M4 
1 
Warning: Nonconforming tab character at (1) 
gfortran-4.8 -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 PerformanceAnalytics.so momentF.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 
gfortran-4.8: warning: couldn’t understand kern.osversion ‘15.4.0 
ld: warning: object file (momentF.o) was built for newer OSX version (10.11) than being linked (10.4) 
installing to /Library/Frameworks/R.framework/Versions/3.2/Resources/library/PerformanceAnalytics/libs 
** R 
** data 
** inst 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** installing vignettes 
** testing if installed package can be loaded 
* DONE (PerformanceAnalytics)