Linux环境安装R包Rglpk报错

2024-02-28 17:19:26 浏览数 (1)

背景

使用服务器的R语言,安装poppr包过程中,报错:

代码语言:javascript复制
In file included from vendor/cigraph/src/community/optimal_modularity.c:32:
vendor/cigraph/src/internal/glpk_support.h:39:10: fatal error: glpk.h: No such file or directory
   39 | #include <glpk.h>
      |          ^~~~~~~~
compilation terminated.
make: *** [/data1/username/0030.software/python/3.8/envs/r-4.3.2/lib/R/etc/Makeconf:193: vendor/cigraph/src/community/optimal_modularity.o] Error 1
ERROR: compilation failed for package ‘igraph’

其中主要是Rglpk包安装不上,原因是找不到共享的依赖。

搜了很多教程,有需要root管理员权限使用yum安装glpk的,秉承不随意使用root的原则, 接下来,我们以普通用户解决该问题。

解决方案

1.安装Glpk到用户目录,用于R依赖

代码语言:javascript复制
cd ~
wget http://ftp.gnu.org/gnu/glpk/glpk-4.54.tar.gz
tar xfzv glpk-4.54.tar.gz
mkdir GLPK
cd glpk-4.54
./configure --prefix=/home/username/GLPK
make
make install

2.下载Rglpk包

代码语言:javascript复制
cd /path/to/rpackages
wget https://cran.r-project.org/src/contrib/Rglpk_0.6-5.1.tar.gz
tar xvf Rglpk_0.6-5.1.tar.gz

3.让R可以识别到依赖

因为我的R安装是使用conda安装的,所以我先激活了环境。

移动文件,并设置变量,让R可以识别到依赖。

代码语言:javascript复制
mamba activate r-4.3.2
mv /home/username/glpk-4.54 /path/to/rpackages/Rglpk/src/GLPK

export LD_LIBRARY_PATH=/home/username/GLPK/lib
export LIBRARY_PATH=/home/username/GLPK/lib
export CPATH=/home/username/GLPK/include

接下来,命令行安装。

代码语言:javascript复制
R CMD INSTALL Rglpk

安装完,Rglpk则可以正常使用,依赖于Rglpk的其他R包也可以正常安装了。

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。

代码语言:javascript复制
bioinfoer.com

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

0 人点赞