[Topic discussion] 玲珑打包报 xxx.so: version `GLIBC_2.38' not found 解决方案
Tofloor
poster avatar
root
deepin
2024-06-13 22:35
Author

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

Reply Favorite View the author
All Replies
deepin-superuser
deepin
2024-06-14 09:00
#1

可以可以

Reply View the author
ice
Moderator
2024-06-16 12:05
#2

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

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

Reply View the author
kentrl
deepin
2024-08-26 05:36
#3
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版本全部安装包+依赖包, 希望打包玲珑包

Reply View the author
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版本离线全部安装包+离线依赖包, 希望打包玲珑包

Reply View the author