dotnet 8 版本与银河麒麟V10和UOS系统的 glibc 兼容性

news/2024/5/20 7:41:58

刚刚好 dotnet 8 的 glibc 版本足够旧,可以运行

本文记录于 2024.04.26 如果你阅读本文时间距离本文记录时间过远,可能本文记录的信息已失效

dotnet

根据 dotnet 的 supported-os 文档记录,当前的 dotnet 8 是 8.0.4 版本,官方说明是支持 Debian 11 及以上版本

实际测试可以在 debian 10 运行,且构建打包制作 AOT 等也正常

构建 dotnet 8 使用的是 Ubuntu 16.04 系统,依赖的 glibc 是 2.23 版本

debian 10

debian 10.13 版本的 glibc 版本是 2.28 版本

通过 ldd --version 命令行获取的 glibc 版本信息如下

ldd (Debian GLIBC 2.28-10+deb10u2) 2.28

可见 debian 10.13 的 glibc 版本大于 dotnet 8 的依赖 glibc 版本,从基础层面上提供了可运行的可能

经过我的稍微复杂的测试,发现了 dotnet 8 可以运行起来,且 AOT 部分也正常

麒麟

在我的设备上使用 cat /etc/.kyinfo 获取麒麟系统的版本的输出信息如下

[dist]
name=Kylin
milestone=Desktop-V10-SP1-General-Release-TSM-lindexi-20230217
arch=arm64
beta=False
time=2023-02-17 19:01:29

根据 定昌电子 记录的文档,这里的 Desktop V10 SP1 General Release 版本就是银河麒麟桌面操作系统V10 SP1版本

运行 uname -r 的输出如下

>$ uname -r
5.4.18-53sy01-generic

在麒麟系统上运行 cat /etc/debian_version 获取 debian 版本号,输出信息如下

>$ cat /etc/debian_version
bullseye/sid

bullseye 是 debian 11 的发布代号,详细请看 https://www.debian.org/releases/bullseye/

运行 ldd --version 命令行获取的 glibc 版本信息如下

>$ ldd --version
ldd (Ubuntu GLIBC 2.31-0kylin9.1k20.5) 2.31

可以看到麒麟V10基于 debian 11 且 glibc 为 2.31 版本,完全在 dotnet 8 支持范围内

UOS

在我的 UOS 虚拟机上运行 cat /etc/product-info 获取 UOS 的版本号信息的输出如下

>$ cat /etc/product-info
UnionTech OS-20-20221214083720_x86_64_E_1050_4-19

运行 cat /etc/os-version 查看 UOS 统信操作系统版本的输出如下

>$ cat /etc/os-version
[Version]
SystemName=UnionTech OS Desktop
SystemName[zh_CN]=统信桌面操作系统
ProductType=Desktop
ProductType[zh_CN]=桌面
EditionName=E
EditionName[zh_CN]=E
MajorVersion=20
MinorVersion=1050
OsBuild=11068.102

运行 cat /etc/os-release 的输出如下

>$ cat /etc/os-release
PRETTY_NAME="UnionTech OS Desktop 20 E"
NAME="uos"
VERSION_ID="20"
VERSION="20"
ID=uos
HOME_URL="https://www.chinauos.com/"
BUG_REPORT_URL="http://bbs.chinauos.com"
VERSION_CODENAME=uranus

运行 uname -r 的输出如下

>$ uname -r
4.19.0-amd64-desktop

运行 cat /etc/debian_version 获取 debian 版本号,输出信息如下

>$ cat /etc/debian_version
10.10

运行 ldd --version 命令行获取的 glibc 版本信息如下

>$ ldd --version
ldd (Debian GLIBC 2.28.19-1+dde) 2.28

可以看到 UOS 的 OS-20-20221214083720 20.1050.11068.102 版本是基于 debian 10 的,在 dotnet 8 官方声明的支持范围之外。但 glibc 的版本是 2.28 版本,大于 dotnet 8 的依赖版本,提供了基础运行的可能。经过我的稍微复杂的测试,发现了 dotnet 8 可以运行起来,且 AOT 部分也正常

更多 Linux 和国产系统的开发相关博客,请参阅 博客导航

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/25451.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

读天才与算法:人脑与AI的数学思维笔记11_算法如何思考

读天才与算法:人脑与AI的数学思维笔记11_算法如何思考1. 创造力 1.1. 创建一种算法,其首要任务是放弃已知的所有艺术风格,然后判断由算法自己所产生的艺术品是否具有与所有艺术风格都截然不同的特性,即真正独树一帜的艺术风格 1.2. 抗性模型同样适用于人类创造力代码的引导…

.net8系列-04图文并茂手把手教你配置Swagger支持token以及实现Swagger扩展,Swagger代码单独抽离

前情提要 接上篇文章,我们当前已完成如下内容:创建应用成功 创建接口成功 配置Swagger实现接口注释和版本控制 本文章主要内容为: 配置Swagger支持token传值测试接口快速上手-代码配置 添加如下代码 文件目录:\xiaojinWebApplication\xiaojinWebApplication\Program.cs// S…

.net报错异常及常用功能处理总结(持续更新)

@目录1. WebApi dynamic传参解析结果中ValueKind = Object处理方法问题描述方案1:(推荐,改动很小)方案2:2.C# .net多层循环嵌套结构数据对象如何写对象动态属性赋值问题描述JavaScript动态属性赋值.net动态属性赋值3.Object.GetType().GetProperty().GetValue()读取对象报错…

百度昆仑、华为NPU

百度昆仑、华为NPU 为智能计算而生的昆仑芯XPU架构 昆仑芯科技团队于2017年在Hot Chips上发布自研的、面向通用AI计的芯片核心架构——昆仑芯XPU。 集十余年AI加速研发实践,昆仑芯XPU从AI落地的实际需求出发,按照复杂前沿的人工智能场景需求开展迭代, 致力为开发者提供通用、…

计算机(电脑)硬件组成基本介绍4

详细介绍的计算机(电脑)硬件组成.电源插座为主板提供供电的电源接口目前,主板电源接口插座主要采用ATX电源接口, ATX电源接口一般为24针电源插座、8 针电源插座、4针电源插座等,主要为主板提供5V、 12V、3.3V 电压等. ATX 电源都支持软件关机功能。目前,双核CPU 主板上的…

计算机(电脑)硬件组成基本介绍3

详细介绍的计算机(电脑)硬件组成.重要接口SATA连接大容量存储设备的SATA接口SATA (Serial ATA)接口即串行ATA,它是目前硬盘采用的一种新型的接口类型。SATA接口主要采用连续串行的方式传输数据,这样在同一时间点内只会有1位数据传输,此做法能减小接口的针脚数目,用4个针…

计算机(电脑)硬件组成基本介绍1

详细介绍的计算机(电脑)硬件组成。目录目录操作系统与硬件及应用程序软件的关系电脑各个设备之间关系 如何评价一台电脑? 通过CPU型号看性能 通过 CPU 主频评价 通过内存容量评价 通过显卡芯片及显存容量评价 通过显示器评价 中央处理器 存储器 输入设备 输出设备 接口…

Ubuntu24.04系统Docker安装nextcloud+onlyoffice

1.Ubuntu系统下载 Ubuntu镜像站大全 我用的是山东大学的镜像站 我下的是desktop版本就是有GUI图形界面,如果不需要可以下载server版本2.开启SSH启用root用户远程登陆 由于我使用远程工具MobaXterm进行连接,所以安装完系统后需要开启SSH,如果你不需要使用远程工具远程可以跳过…