ubuntu - 如何构建 glibc 包的数学库?

标签 ubuntu compilation glibc configure libm

我已经知道如何在旧版本(例如 2.19)旁边构建新版本的 Glibc(例如 2.3)。 我遵循了 https://www.tldp.org/HOWTO/html_single/Glibc-Install-HOWTO/

中的说明

而是在 Glibc 中编译整个库,我只想构建数学库 (libm.so)。

如何在 ubuntu 中只重新编译 libm.so?

第二个问题是可以使用 clang 编译器在 glibc 中重新编译该特定部分(数学)吗? 我发现由于符合标准等原因,我无法使用 clang 重新编译整个 Glibc。

最佳答案

libm 依赖于动态加载器和 libc 的内部结构,例如 IFUNC 解析器。您不能简单地从较新版本中获取 libm 并将其安装在具有较旧 glibc 版本的系统上。不久前,有人提出了一些补丁来选择性地启用此功能:

即使有了这些补丁,仍然需要使用 --disable-multi-arch 构建 glibc,从而导致某些数学函数的性能显着下降。

关于ubuntu - 如何构建 glibc 包的数学库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58964628/

相关文章:

c - 使用 glibc 依赖项从 chroot 动态加载库

linux - 可以编写脚本在本地机器上打开多个终端并通过 ssh 连接到不同的服务器吗?

ubuntu - 在 Apache2 中使用可变子域运行多个网站

php - 为每个站点设置 php.ini 指令

c++ - 编译 C++ 程序的 Makefile 问题

java - 当 Java 编译器内部有一个类 `c` 时,它如何工作?

linux - 使用较新版本的 glibc 时出错

python - 带有请求的 flask 损坏的管道

c# - .NET 编译程序集来源 : Determine which source failed?

linux - 在aarch64 Linux中安装anaconda