【问题标题】:Where can I find specific Linux system libraries' source code?在哪里可以找到特定 Linux 系统库的源代码?
【发布时间】:2021-04-26 12:52:08
【问题描述】:

我正在开发一种产品,在该产品中,我们从我们的环境中发送带有 Linux 系统库的二进制文件,例如 ld-2.19.solibdl-2.19.solibgcc_s.so.1 等。

现在我们希望提供这些库的源代码(出于管理和软件清理的原因)。

这些是 Linux 库,是的,它是开源的,但期望提供 az 精确的 .tar.gz。

我有 2 个问题。

  1. 根据我的调查,其中一些库来自 GNU libc?所以 glibc 不仅仅是一个 .so 文件,许多 .so 文件都来自 GNU libc,如 libc、libpthread 等。

  2. mentoined 的两个库以 2.19 结尾。如何判断 .so 文件来自什么“包”?例如,这些 .so 文件来自 GNU libc?

谢谢

【问题讨论】:

  • 你用的是什么linux?看到 linux 包管理器 -> 其中是构建包所需的所有步骤,包括所有源文件。
  • 我使用的是 Ubuntu14

标签: linux lib


【解决方案1】:

转到文件的来源。在典型的 linux 发行版上,您可以这样做:

  • 查询包管理器文件来自哪个包
  • 获取该包构建脚本
  • 在那个构建脚本中是源位置

主要发行版都有类似的站点,例如 https://packages.ubuntu.com/https://pkgs.alpinelinux.org/packageshttps://archlinux.org/packages/ 以及有关如何构建软件包的资源。 RPM 包有 -source 包和包的来源。

【讨论】:

  • 谢谢,现在我找到了合适的包的完整源代码。我用dpkg -S [soname]。现在我找到了glibc的完整源代码。作为一名程序员,我认为只需要选择一些构建特定 .so 库的源文件,就需要对源代码有更深入的了解。查找ld-2.19.c 不是那么简单,可能不是由单个C 文件构建的。你能确认我是对的吗?
  • 是的,很多很多很多的源文件用于构建一个共享库。
  • 感谢您的支持
猜你喜欢
  • 2017-12-25
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多