You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装R包ChemmineOB编译失败求助,系统已安装OpenBabel

解决R包ChemmineOB安装编译错误问题

你遇到的编译错误是因为R的编译环境无法找到OpenBabel的头文件openbabel/obutil.h——即便系统已安装OpenBabel,也可能是路径未被识别或缺少开发依赖导致的。以下是具体解决步骤:

错误信息

ChemmineOB.cpp:1569:10: fatal error: openbabel/obutil.h: No such file or directory
 1569 | #include <openbabel/obutil.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [/usr/lib/R/etc/Makeconf:177: ChemmineOB.o] Error 1
ERROR: compilation failed for package ‘ChemmineOB’
* removing ‘/home/mamata/R/x86_64-pc-linux-gnu-library/4.2/ChemmineOB’

The downloaded source packages are in
    ‘/tmp/Rtmpzscekt/downloaded_packages’
Warning message:
In install.packages(...) :
  installation of package ‘ChemmineOB’ had non-zero exit status

解决步骤

  • 安装OpenBabel开发包:多数系统默认仅安装OpenBabel运行时库,缺少头文件等开发依赖。根据你的系统执行对应命令:

    • Debian/Ubuntu:sudo apt-get install libopenbabel-dev
    • RHEL/CentOS:sudo yum install openbabel-devel
    • Fedora:sudo dnf install openbabel-devel
  • 手动指定OpenBabel路径安装:若已装开发包仍报错,需明确告知R头文件和库的位置:

    1. 先查询OpenBabel的实际路径:
      pkg-config --cflags openbabel-3  # 获取头文件路径,示例输出:-I/usr/include/openbabel3
      pkg-config --libs openbabel-3    # 获取库路径,示例输出:-L/usr/lib/x86_64-linux-gnu -lopenbabel
      
    2. 在R中设置环境变量后重新安装:
      Sys.setenv(CFLAGS="-I/usr/include/openbabel3")  # 替换为你查询到的头文件路径
      Sys.setenv(LDFLAGS="-L/usr/lib/x86_64-linux-gnu -lopenbabel")  # 替换为你查询到的库路径
      install.packages("ChemmineOB", type="source")
      
  • 检查版本兼容性:ChemmineOB对OpenBabel版本有要求,执行obabel --version查看当前版本,确保符合包的依赖要求(通常支持2.x或3.x系列)。

内容的提问来源于stack exchange,提问作者Mamata Gharti Magar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 18:45:26