安装R包h5r遇configure错误:无法找到HDF5,求技术解决方案
解决R包h5r安装时"Can't find HDF5"的问题
我之前在Ubuntu上安装依赖HDF5的R包时也碰到过完全一样的问题——明明已经装了所有相关的dev库,configure脚本就是找不到HDF5。给你几个针对性的解决方案,按顺序试试:
先定位HDF5的实际安装路径
打开终端运行以下命令之一,获取HDF5的头文件和库文件路径:h5cc -show # 或者 pkg-config --cflags --libs hdf5输出里会包含类似
/usr/lib/x86_64-linux-gnu/hdf5/serial/这样的路径,记下来这个根路径(比如去掉后面的lib或include部分,保留到hdf5/serial这一级)。安装时手动指定HDF5路径
在R里安装h5r的时候,通过configure.args参数告诉脚本HDF5的位置,把刚才查到的路径替换进去:install_version("h5r", "1.4.7", configure.args = c("--with-hdf5=/usr/lib/x86_64-linux-gnu/hdf5/serial/"))如果用pkg-config的方式,也可以写成:
install_version("h5r", "1.4.7", configure.args = "--with-hdf5=$(pkg-config --prefix hdf5)")通过环境变量指定HDF5路径
先在终端设置环境变量,再启动R安装:export HDF5_DIR=/usr/lib/x86_64-linux-gnu/hdf5/serial/ R然后在R里正常执行
install_version("h5r", "1.4.7")即可,configure脚本会自动读取HDF5_DIR环境变量。检查HDF5版本分支
Ubuntu的HDF5有serial(单线程)和parallel(多线程,依赖openmpi)两个分支,如果你安装的是libhdf5-openmpi-dev,路径会变成/usr/lib/x86_64-linux-gnu/hdf5/openmpi/,要对应调整上面的路径参数。
很高兴看到你已经根据评论建议成功解决了问题,如果上面的方法里有帮到你的,或者你有其他可行的方案,也可以补充出来帮助其他遇到同样问题的开发者~
内容的提问来源于stack exchange,提问作者bgbrink
相关产品推荐
相关产品推荐

