本文转载自 deepin论坛-玲珑专区-原文链接 作者:root
在打包的时候难免会遇到一些奇奇怪怪的错误,这里分享一下打包报 xxx.so: version
GLIBC_2.38′ not found` 的解决方案
前置条件
由于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启动程序即可
例如
直接执行 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:能跑就行
发表回复