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

Ubuntu22.04下安装R4.3.1的data.table包遇未定义符号错误

解决Ubuntu 22.04下R 4.3.1安装data.table时brl_deflateReset未定义的问题

问题原因

该错误源于编译data.table时,链接的zlib库版本与系统或R依赖的版本不匹配,或是编译过程未正确关联系统zlib库。

解决方案

1. 确保系统zlib相关依赖完整安装

执行以下命令更新包列表并安装所有必要的zlib及相关压缩库:

sudo apt update
sudo apt install zlib1g zlib1g-dev liblzma-dev libbz2-dev

2. 强制R使用系统zlib编译data.table

先卸载已安装的不完整版本,再设置编译环境变量,强制链接系统zlib库后重新安装:

# 卸载损坏的data.table版本
remove.packages("data.table")
# 设置编译与链接参数
Sys.setenv(CFLAGS="-I/usr/include/zlib1g")
Sys.setenv(LDFLAGS="-L/usr/lib/x86_64-linux-gnu -lz")
# 从CRAN重新安装源码版
install.packages("data.table", type="source")

3. 尝试从GitHub源码编译安装

若CRAN源安装仍失败,直接拉取最新源码编译:

# 安装devtools(未安装时执行)
if (!require(devtools)) install.packages("devtools")
# 重复设置编译环境变量
Sys.setenv(CFLAGS="-I/usr/include/zlib1g")
Sys.setenv(LDFLAGS="-L/usr/lib/x86_64-linux-gnu -lz")
# 从GitHub安装
devtools::install_github("Rdatatable/data.table")

4. 检查R的编译配置

若以上步骤无效,验证R是否正确识别系统zlib:
在R中运行以下命令:

system("R CMD config LDFLAGS")
system("R CMD config CFLAGS")

确认输出包含-lz和-I/usr/include/zlib1g相关内容。若缺失,需修改R的全局配置文件/etc/R/Makeconf,在对应字段添加上述编译与链接参数。


内容的提问来源于stack exchange,提问作者Neodim Kollobok

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 15:49:54