[话题讨论] Deepin的 GLIBC 的版本,何时升级?
电梯直达到第
poster avatar
redmibook
deepin
发表于 2022-04-08 01:33
楼主

我是一个开发者,我用 Qt6 & C++ 开发了一款「中州韵98五笔助手」,可以实现 RIME 平台的参数管理可视化。软件打包是在 Ubuntu20.04 LTS 上做的,基于 Qt6 的考量,它在 GLIBC 的版本上,最低要求是「GLIBC 2.31」。

目前,Deepin 的 GLIBC 版本太低了,还是「GLIBC 2.28」,这使得我打包的跨平台的「AppImage」包,根本不能在 Deepin 上运行。请问 Deepin 何时升级一下 GLIBC 版本?要知道「GLIBC 2.28」是 Ubuntu 16.04 默认的版本……它太陈旧了。

7.png
6.png
5.png
4.png
3.png
2.png
1.png

回复 收藏 只看作者
所有回复
1 / 2
到第
deepin-superuser
deepin
生态共建组骨干
发表于 2022-04-08 01:40
沙发

软件不错

glibc 版本预计短时间内不会更新,可能得等到 V23 了

回复 只看作者
redmibook
deepin
发表于 2022-04-08 01:54
板凳
deepin-superuser

软件不错

glibc 版本预计短时间内不会更新,可能得等到 V23 了

消息准确吗?是有什么困难吗?感觉不至于这么保守啊。

回复 只看作者
redmibook
deepin
发表于 2022-04-08 01:56
地板

借图顶楼,问下消息。

140749ti63o3i1ot1zat4t.jpg

回复 只看作者
Mr-Wan
deepin
发表于 2022-04-08 01:59
4楼
redmibook

消息准确吗?是有什么困难吗?感觉不至于这么保守啊。

瞎猜:

代码安全审查问题+人手问题.

回复 只看作者
deepin-superuser
deepin
生态共建组骨干
发表于 2022-04-08 02:00
5楼
redmibook

消息准确吗?是有什么困难吗?感觉不至于这么保守啊。

deepin V20 是基于 Debian 10 的,Debian 10 里目前还是 2.28,Debian 11 里才是 2.31,所以得等 V23 版升级到 Debian 11+ 才可以

回复 只看作者
redmibook
deepin
发表于 2022-04-08 02:10
6楼
Mr-Wan

瞎猜:

代码安全审查问题+人手问题.

GLIBC 就是个基础的 C 库,不至于上升到安全层面。

回复 只看作者
Mr-Wan
deepin
发表于 2022-04-08 02:14
7楼
redmibook

GLIBC 就是个基础的 C 库,不至于上升到安全层面。

偷藏的安全问题往往在底层,比如cpu里的minix,主板的uefi,密码算法,之类的.各各不都有大新闻么.

回复 只看作者
redmibook
deepin
发表于 2022-04-08 02:17
8楼
Mr-Wan

偷藏的安全问题往往在底层,比如cpu里的minix,主板的uefi,密码算法,之类的.各各不都有大新闻么.

跟你说的不是一回事儿,GLIBC是C库的接口

回复 只看作者
北冥夜未央
deepin
生态共建组专家
发表于 2022-04-08 02:26
9楼

五笔还是86用的人多些

回复 只看作者
redmibook
deepin
发表于 2022-04-08 02:32
10楼
北冥夜未央

五笔还是86用的人多些

那是另外一个话题啊

回复 只看作者
Feng Yu
deepin
发表于 2022-04-08 02:37
11楼

glibc版本是底层依赖,不能轻易动。你打包AppImage应该参考官方最佳实践,使用一个glibc版本低的发行版进行打包,比如Ubuntu 16.04,参考AppImage官方文档叙述的glibc部分: https://docs.appimage.org/reference/best-practices.html#binaries-compiled-on-old-enough-base-system

顺带一提,我维护的qBittorrent-Enhanced-Edition的AppImage构建使用的就是Ubuntu 16.04做基础镜像的,可以在deepin运行,而qbittorrent官方的AppImage是在Ubuntu 20.04上构建的,是无法在deepin上运行的

回复 只看作者
redmibook
deepin
发表于 2022-04-08 02:40
12楼
Feng Yu

glibc版本是底层依赖,不能轻易动。你打包AppImage应该参考官方最佳实践,使用一个glibc版本低的发行版进行打包,比如Ubuntu 16.04,参考AppImage官方文档叙述的glibc部分: https://docs.appimage.org/reference/best-practices.html#binaries-compiled-on-old-enough-base-system

顺带一提,我维护的qBittorrent-Enhanced-Edition的AppImage构建使用的就是Ubuntu 16.04做基础镜像的,可以在deepin运行,而qbittorrent官方的AppImage是在Ubuntu 20.04上构建的,是无法在deepin上运行的

主要是 Qt6 在 ubuntu16.04 上存在问题。

回复 只看作者
redmibook
deepin
发表于 2022-04-08 02:41
13楼
Feng Yu

glibc版本是底层依赖,不能轻易动。你打包AppImage应该参考官方最佳实践,使用一个glibc版本低的发行版进行打包,比如Ubuntu 16.04,参考AppImage官方文档叙述的glibc部分: https://docs.appimage.org/reference/best-practices.html#binaries-compiled-on-old-enough-base-system

顺带一提,我维护的qBittorrent-Enhanced-Edition的AppImage构建使用的就是Ubuntu 16.04做基础镜像的,可以在deepin运行,而qbittorrent官方的AppImage是在Ubuntu 20.04上构建的,是无法在deepin上运行的

代码层面,要退回到 Qt5.x 的 API 上,变动挺多的,之前也是回到 Qt5.x ,后来发现维护量太大了。

回复 只看作者
Mr-Wan
deepin
发表于 2022-04-08 02:44
14楼
redmibook

跟你说的不是一回事儿,GLIBC是C库的接口

glibc g:gnu lib:库 c:c语言.

库提供api,相关二进制兼容标准好像是叫做ABI.

这... 接口的说法... 是headers?

回复 只看作者
redmibook
deepin
发表于 2022-04-08 02:46
15楼
Mr-Wan

glibc g:gnu lib:库 c:c语言.

库提供api,相关二进制兼容标准好像是叫做ABI.

这... 接口的说法... 是headers?

行了,你也不了解,就别参与讨论了。

回复 只看作者
SamLukeYes
deepin
发表于 2022-04-08 02:48
16楼

不要指望一个非滚动发行版在不更新大版本的前提下更新 glibc 的版本

回复 只看作者
redmibook
deepin
发表于 2022-04-08 02:50
17楼
SamLukeYes

不要指望一个非滚动发行版在不更新大版本的前提下更新 glibc 的版本

这个确实,不过 『2.28』 确实太旧了。

回复 只看作者
Feng Yu
deepin
发表于 2022-04-08 03:17
18楼
redmibook

主要是 Qt6 在 ubuntu16.04 上存在问题。

你可以参考我的qBittorrent-Enhanced-Edition的AppImage构建脚本,是在ubuntu 16.04上直接源码编译qt6,因为qt官方已经不提供低版本glibc的二进制构建了,只能自己源码编译:

qBittorrent-Enhanced-Edition/build_appimage.sh at v4_4_x · c0re100/qBittorrent-Enhanced-Edition · GitHub

build好的成品你可以在qbittorrent-enhanced-edition的release页面下载AppImage运行看看,使用qt6构建的

回复 只看作者
redmibook
deepin
发表于 2022-04-08 05:00
19楼
Feng Yu

你可以参考我的qBittorrent-Enhanced-Edition的AppImage构建脚本,是在ubuntu 16.04上直接源码编译qt6,因为qt官方已经不提供低版本glibc的二进制构建了,只能自己源码编译:

qBittorrent-Enhanced-Edition/build_appimage.sh at v4_4_x · c0re100/qBittorrent-Enhanced-Edition · GitHub

build好的成品你可以在qbittorrent-enhanced-edition的release页面下载AppImage运行看看,使用qt6构建的

也是个办法,不过一直没有勇气去自己构建 Qt6,它真的太庞大了。

回复 只看作者
Feng Yu
deepin
发表于 2022-04-08 05:02
20楼
redmibook

也是个办法,不过一直没有勇气去自己构建 Qt6,它真的太庞大了。

你有不需要构建整个qt6,你看我的脚本没?只构建你需要的组件就行了,我那个脚本在我的R7 3700x机器上跑也就是几分钟就完了。

qbittorrent用到的qt组件也就是qtbase, qtsvg, qttools这几个,我还额外添加了qt-wayland和qt6gtk2,组件编译很快,qtbase开启了ltcg参数,那个会慢一点,跑一次大概3分钟左右,其他几个插件也就是几秒钟

回复 只看作者
1 / 2
到第