使用 R studio 安装 glmnet 包时出错
Getting errors installing glmnet package using R studio
我一直在尝试从 RStudio 安装 glmnet 包。我的系统上有 Ubuntu 18.04 运行。这是我用过的命令
install.packages("glmnet", repos = "http://cran.us.r-project.org")
我无法安装该软件包。以下是错误信息。
Installing package into ‘/home/vamshi/R/x86_64-pc-linux-gnu-library/3.5’
(as ‘lib’ is unspecified)
trying URL 'http://cran.us.r-project.org/src/contrib/glmnet_2.0-16.tar.gz'
Content type 'application/x-gzip' length 3882584 bytes (3.7 MB)
==================================================
downloaded 3.7 MB
* installing *source* package ‘glmnet’ ...
** package ‘glmnet’ successfully unpacked and MD5 sums checked
** libs
gfortran -fpic -g -O2 -fdebug-prefix-map=/build/r-base-oNcpyf/r-base-3.5.1=. -fstack-protector-strong -c glmnet5dp.f -o glmnet5dp.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-oNcpyf/r-base-3.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c glmnet_init.c -o glmnet_init.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o glmnet.so glmnet5dp.o glmnet_init.o -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR
/usr/bin/x86_64-linux-gnu-ld: cannot find -lgfortran
collect2: error: ld returned 1 exit status
/usr/share/R/share/make/shlib.mk:6: recipe for target 'glmnet.so' failed
make: *** [glmnet.so] Error 1
ERROR: compilation failed for package ‘glmnet’
* removing ‘/home/vamshi/R/x86_64-pc-linux-gnu-library/3.5/glmnet’
Warning in install.packages :
installation of package ‘glmnet’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpwiFSth/downloaded_packages’
请帮帮我。我也试过 install.packages("glmnet",dependencies="TRUE")
但安装时仍然出现错误。
@saisaran
sessionInfo()的输出结果如下:
R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.1 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ISLR_1.2
loaded via a namespace (and not attached):
[1] compiler_3.5.1 tools_3.5.1
问题就在这里
gfortran -fpic -g -O2 -fdebug-prefix-map=/build/r-base-oNcpyf/r-base-3.5.1=。 -fstack-protector-strong -c glmnet5dp.f -o glmnet5dp.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-oNcpyf/r-base-3.5.1=。 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c glmnet_init.c -o glmnet_init.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o glmnet.so glmnet5dp.o glmnet_init.o -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR
/usr/bin/x86_64-linux-gnu-ld: 找不到 -lgfortran
制作:gfortran:找不到-lgfortran
您没有 Fortran 编译器,或者您的 R 实例无法访问它。如何解决这个问题取决于您的操作系统,
解决方案:-
在你的终端输入这两行,直接引用:
卷曲-O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2
sudo tar fvxj gfortran-4.8.2-darwin13.tar.bz2 -C /
它将为您下载适用于 Mavericks 的 gfortran(目前您的系统中缺少它)并将其安装到您的系统中。至少,这会解决你的问题。
我遇到了同样的问题。这可能是因为您没有安装 libgfortran6。如果您使用 Arch Linux 或 Manjaro,只需安装 libgfortran6 并使用:
pacman -Syu libgfortran6
但由于某些原因,aur 中的默认源不起作用,您需要使用 git://gcc.gnu.org/git/gcc.git #commit=878763634f0a75699559b3c0b90d466954a6510f 作为来源。
我一直在尝试从 RStudio 安装 glmnet 包。我的系统上有 Ubuntu 18.04 运行。这是我用过的命令
install.packages("glmnet", repos = "http://cran.us.r-project.org")
我无法安装该软件包。以下是错误信息。
Installing package into ‘/home/vamshi/R/x86_64-pc-linux-gnu-library/3.5’
(as ‘lib’ is unspecified)
trying URL 'http://cran.us.r-project.org/src/contrib/glmnet_2.0-16.tar.gz'
Content type 'application/x-gzip' length 3882584 bytes (3.7 MB)
==================================================
downloaded 3.7 MB
* installing *source* package ‘glmnet’ ...
** package ‘glmnet’ successfully unpacked and MD5 sums checked
** libs
gfortran -fpic -g -O2 -fdebug-prefix-map=/build/r-base-oNcpyf/r-base-3.5.1=. -fstack-protector-strong -c glmnet5dp.f -o glmnet5dp.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-oNcpyf/r-base-3.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c glmnet_init.c -o glmnet_init.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o glmnet.so glmnet5dp.o glmnet_init.o -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR
/usr/bin/x86_64-linux-gnu-ld: cannot find -lgfortran
collect2: error: ld returned 1 exit status
/usr/share/R/share/make/shlib.mk:6: recipe for target 'glmnet.so' failed
make: *** [glmnet.so] Error 1
ERROR: compilation failed for package ‘glmnet’
* removing ‘/home/vamshi/R/x86_64-pc-linux-gnu-library/3.5/glmnet’
Warning in install.packages :
installation of package ‘glmnet’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpwiFSth/downloaded_packages’
请帮帮我。我也试过 install.packages("glmnet",dependencies="TRUE")
但安装时仍然出现错误。
@saisaran
sessionInfo()的输出结果如下:
R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.1 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ISLR_1.2
loaded via a namespace (and not attached):
[1] compiler_3.5.1 tools_3.5.1
问题就在这里
gfortran -fpic -g -O2 -fdebug-prefix-map=/build/r-base-oNcpyf/r-base-3.5.1=。 -fstack-protector-strong -c glmnet5dp.f -o glmnet5dp.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -fpic -g -O2 -fdebug-prefix-map=/build/r-base-oNcpyf/r-base-3.5.1=。 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c glmnet_init.c -o glmnet_init.o gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o glmnet.so glmnet5dp.o glmnet_init.o -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR /usr/bin/x86_64-linux-gnu-ld: 找不到 -lgfortran
制作:gfortran:找不到-lgfortran
您没有 Fortran 编译器,或者您的 R 实例无法访问它。如何解决这个问题取决于您的操作系统,
解决方案:-
在你的终端输入这两行,直接引用:
卷曲-O http://r.research.att.com/libs/gfortran-4.8.2-darwin13.tar.bz2 sudo tar fvxj gfortran-4.8.2-darwin13.tar.bz2 -C /
它将为您下载适用于 Mavericks 的 gfortran(目前您的系统中缺少它)并将其安装到您的系统中。至少,这会解决你的问题。
我遇到了同样的问题。这可能是因为您没有安装 libgfortran6。如果您使用 Arch Linux 或 Manjaro,只需安装 libgfortran6 并使用:
pacman -Syu libgfortran6
但由于某些原因,aur 中的默认源不起作用,您需要使用 git://gcc.gnu.org/git/gcc.git #commit=878763634f0a75699559b3c0b90d466954a6510f 作为来源。