【发布时间】:2011-08-19 11:27:00
【问题描述】:
我的 Linux 机器上 realpath 的手册页说:
VERSIONS
On Linux this function appeared in libc 4.5.21.
现在这是什么意思?它指的是哪个 libc - “Linux libc”? - 我在哪里可以找到与不同 libc 风格相匹配的列表,这样我就可以看到链接到这个函数和其他函数的最低要求是什么?
GLIBC 的版本是 2.13,比 4.5.21 低很多,但是关于 glibc 的维基百科页面说:
在 1990 年代初期, Linux 内核分叉了 glibc。他们的 fork,称为“Linux libc”,是 单独维护多年,并且 发布版本 2 到 5。
...和
最后使用的 Linux libc 版本 使用了内部名称(soname) libc.so.5.继此之后, Linux 上的 glibc 2.x 使用 soname libc.so.6
这是否意味着任何 glibc 都等同于主版本高于 5 的“Linux libc”?
还有其他手册页引用了这个或那个版本的“libc”,所以realpath 只是一个大问题的例子。
注意:我正在构建的代码不限于Linux,这就是为什么我需要一个确定的方法来检测某个功能是否可用。
【问题讨论】: