【解决方案】玲珑打包报 xxx.so: version `GLIBC_2.38′ not found 解决方案

本文转载自 deepin论坛-玲珑专区-原文链接  作者:root


在打包的时候难免会遇到一些奇奇怪怪的错误,这里分享一下打包报 xxx.so: version GLIBC_2.38′ not found` 的解决方案
圖片.png

前置条件

由于linglong容器提供rumtime的GNU libc 版本是2.37,但官方有木有提供linglong的rumtime环境sdk(工具链等),?

而v23已经将GNU libc 版本更新到2.38版这样就会造成 编译构建或将 v23的deb包转为longlong包后就会出现

xxx.so: version GLIBC_2.38′ not found等情况

解决方法

deb包转为longlong包

解决方法很简单,使用deb包转为longlong包的可以修改要转换deb的control文件里面的depends字段里面加入 libc6 ,这样打包的使用会将v23当前的 GNU libc 版一起打包进linglong包内,一般放在 /opt/apps/{appid}/files/lib/ 目录下,然后使用高版本的GNU libc启动程序即可

例如

圖片.png

直接执行 gvim提示

./gvim: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38′ not found (required by ./gvim)

使用打包的v23版GNU libc启动正常

命令行例子:

LD_LIBRARY_PATH=/opt/apps/net.sf.cream.linyaps/files/lib/x86_64-linux-gnu /opt/apps/net.sf.cream.linyaps/files/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ./gvim

在 v23下编译构建linglong包遇到version `GLIBC_2.38′ not found报错的解决方同理

ps:移植 ubuntu 24.04版软件到 linglong 出现 version `GLIBC_2.39′ not found 可以同样方法一起把ubuntu 24.04 的libc6 包塞进要打包的 linglong包

ps:能跑就行


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注