[话题讨论] 玲珑打包报 xxx.so: version `GLIBC_2.38' not found 解决方案
电梯直达到第
poster avatar
root
deepin
生态共建组专家
发表于 2024-06-13 22:35
楼主

在打包的时候难免会遇到一些奇奇怪怪的错误,这里分享一下打包报 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:能跑就行

tail

回复 收藏 只看作者
所有回复
deepin-superuser
deepin
生态共建组骨干
发表于 2024-06-14 09:00
沙发

可以可以

回复 只看作者
ice
deepin
生态共建组专家
发表于 2024-06-16 12:05
板凳

error while loading shared libraries: __vdso_gettimeofday: invalid mode for dlopen(): Invalid argument

打包libc6 进去,运行报这个错有解吗?

回复 只看作者
kentrl
deepin
发表于 2024-08-26 05:36
地板
ice

error while loading shared libraries: __vdso_gettimeofday: invalid mode for dlopen(): Invalid argument

打包libc6 进去,运行报这个错有解吗?

希望有能有人能将它制作成玲珑包以隔离环境。

下载链接: https://pan.baidu.com/s/1dMDMCBoCa-UVqP2GhpP2wA?pwd=8888 提取码: 8888

Docker-desktop最新4.33版本全部安装包+依赖包, 希望打包玲珑包

回复 只看作者
kentrl
deepin
发表于 2024-08-26 05:36
4楼

希望有能有人能将它制作成玲珑包以隔离环境。

下载链接: https://pan.baidu.com/s/1dMDMCBoCa-UVqP2GhpP2wA?pwd=8888 提取码: 8888

Docker-desktop最新4.33版本离线全部安装包+离线依赖包, 希望打包玲珑包

Docker-desktop最新4.33版本离线全部安装包+离线依赖包, 希望打包玲珑包

Docker-desktop最新4.33版本离线全部安装包+离线依赖包, 希望打包玲珑包

回复 只看作者