当前位置: 首页 > news >正文

Debian Linux glibc版本过低无法运行tree-sitter-cli解决办法

错误描述

neovim的nvim-treesitter插件所需tree-sitter-cli版本升级到了0.26
按照官方教程使用npm install tree-sitter-cli安装后,运行出现了以下错误

tree-sitter: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.39' not found (required by /home/jihx/.local/myapps/npm/node_modules/tree-sitter-cli/tree-sitter)

分析问题

系统是Debian12,使用ldd --version,查看当前系统glibc版本为2.36,不符合tree-sitter-cli运行的要求,查找资料有了几个思路:
1、升级系统版本到Debian13,为了一个软件升级整个系统改动太大,先不考虑。
2、源码重新编译tree-sitter-cli程序,也能得到在当前系统运行的程序,不过这软件是用rust开发,安装一个rust环境也很麻烦。
3、升级系统glibc版本,这样做风险太高可能会影响其他软件。
4、手动编译高版本glibc安装在自定义路径,针对tree-sitter-cli单独指定glibc依赖。
比较之后决定试试手动编译安装glibc

解决方案

编译安装glibc

下载解压glibc

访问glibc官网下载glibc源码,我选择的是2.39版本

tar -xvf glibc-2.39.tar.gz
cd glibc-2.39/

创建构建目录

mkdir build
cd build

配置编译选项

../configure --prefix=$HOME/.local/lib/glibc239
  • --prefix参数指定glibc安装路径
  • 如果配置失败提示缺少依赖,安装对应依赖即可

编译安装

make
make install
  • glibc将被安装在当前用户home目录.local/lib/glibc239下
  • make install需要用户有对应目录权限,有需要可以用sudo,我这里是当前用户目录可以不用

使用指定glibc

这里使用自定义启动脚本的方式来运行程序,还有一种方法是直接修改程序二进制来指定glibc路径,这种方法有需要再研究。

查看tree-sitter程序所需依赖

ldd tree-sitter 查看所需依赖,这些信息后面编写脚本指定程序运行依赖的时候会用到

image

通过上图可看到tree-sitter所需依赖:

  • glibc
  • /lib/x86_64-linux-gnu下的一些运行库

创建程序启动脚本

创建tree-sitter.sh

#!/bin/bash
# 自定义 glibc 路径
GLIBC_PATH="$HOME/.local/lib/glibc239"
# glibc对应程序链接器路径,后续会使用该动态链接器运行程序
LD_LOADER="${GLIBC_PATH}/lib/ld-linux-x86-64.so.2"
# tree-sitter所需依赖路径,第一条指定新安装的glibc路径,后面跟其他依赖路径
LIB_PATH="${GLIBC_PATH}/lib:/lib/x86_64-linux-gnu"
# tree-sitter 程序路径(替换为你的实际路径)
BIN_PATH="$HOME/.local/myapps/npm/node_modules/tree-sitter-cli/tree-sitter"# 使用glibc版本对应的程序连接器运行tree-sitter程序
exec "${LD_LOADER}" \--library-path "${LIB_PATH}" \"${BIN_PATH}" \"$@"

执行验证

image

能够打印版本号,程序运行成功,后续可以将该脚本加入环境变量替换掉原来的tree-sitter命令。

http://www.jsqmd.com/news/434514/

相关文章:

  • 2026年3月气泵厂家推荐榜,甄选企业实测解析 - 品牌鉴赏师
  • 2026年成都图像翻译服务靠谱的有哪些 费用怎么算 - 工业设备
  • 现代智能汽车系统——AI虚拟传感器0
  • 2026年靠谱的防水卷材石灰原料/石灰厂家热销推荐 - 品牌宣传支持者
  • 2026年中国保温系统门窗2026服务商首选推荐:广东伟业铝厂集团有限公司 - 2026年企业推荐榜
  • 2026年上海图片翻译服务排名,轻寻科技专业靠谱值得推荐 - 工业品网
  • 图像翻译选哪家,好用又性价比高的品牌有哪些 - 工业品牌热点
  • 2026年常州防水维修服务推荐榜单:专业解决屋顶、地下室、卫生间、外墙及厂房渗漏问题,口碑优选与高效施工深度解析 - 品牌企业推荐师(官方)
  • 全国上电高压电机厂哪家性价比高,上电高压电机来样定制有推荐的吗 - 工业品牌热点
  • 聊聊2026年北京实力强的家政服务企业,哪个性价比高 - myqiye
  • VirtualLab:CMOS传感器仿真
  • range语句
  • 2026年常州防水堵漏服务商推荐榜单:专业解决屋顶/卫生间/地下室/外墙/厂房/阳台防水与高压注浆堵漏难题 - 品牌企业推荐师(官方)
  • SvelteKit 适配器深度解析
  • 清单来了:9个一键生成论文工具深度测评,专科生毕业论文写作必备!
  • 2026年性价比高的滚塑设备/塔转滚塑设备厂家推荐对比参考 - 品牌宣传支持者
  • 豆包适合做企业推广吗?GEO适配行业与落地路径全解析 - 品牌2026
  • 2026年口碑好的深圳管道疏通公司/深圳管道疏通服务厂家质量参考评选 - 品牌宣传支持者
  • 从推理模型到意识觉醒:AI的“三项超能力”如何重塑人工智能生命体
  • 24个球中找异常球:如何用 4 次称重锁定目标?
  • 物理学的分支
  • 武汉有哪些招聘平台?2026本地求职招工优选指南 - 博客万
  • 2026年3月节能甲醇制氢掺氢设备厂家推荐,精准检测与稳定性能深度解析 - 品牌鉴赏师
  • 这次终于选对AI论文网站,千笔 VS 文途AI,继续教育写作不踩坑!
  • 一座老石牌坊的“延寿”手术:现代技术如何留住历史印记 - 博客万
  • 吐血推荐!千笔,断层领先的自考论文工具
  • 2026上海抖音推广优选指南:口碑公司助力品牌破圈,短视频获客/短视频代运营/抖音代运营/抖音推广,抖音推广品牌怎么选择 - 品牌推荐师
  • 小红书聚光投放优选!云帆新媒全域赋能,让每一分预算都落地见效 - 博客万
  • 2026年 工程塑料厂家推荐排行榜,通用塑料/铁氟龙塑料/新能源电子烟专用塑料/头盔高耐冲加纤阻燃特种塑料,高抗冲阻燃尼龙增韧食品级塑料源头精选 - 品牌企业推荐师(官方)
  • LeetCode1582:二进制矩阵中的特殊位置