2011-05-05 70 views
0

realpath在我的Linux机器的人网页显示:如何核心glibc和“libc”版本?

VERSIONS 
     On Linux this function appeared in libc 4.5.21. 

现在是什么意思?它指的是哪个libc - “Linux libc”? - 我在哪里可以找到匹配不同libc风格的列表,以便我能够看到链接到此函数和其他函数的最低要求是什么?

GLIBC是2.13版本,这是比4.5.21相当低,但对glibc的维基百科页面称:

在90年代初,中 Linux内核分叉glibc的开发者。他们 叉,被称为 “Linux的libc中”,被 年分别保持和 发布的版本2至5

...和

的Linux的libc 最后使用的版本中使用内部名称(soname) libc.so.5。根据这一点,在Linux上 的glibc 2.x中使用的soname libc.so.6的

这是否意味着任何glibc的相当于一个“Linux的libc的”与主要版本高于5?

还有其他手册页引用这个或那个版本的“libc”,所以realpath只是一个问题的例子。

注意:我正在构建的代码不限于Linux,这就是为什么我需要一个确定的方法来检测某个函数是否可用。

回答

2

尽管在版本2.x中,glibc多年来被称为“libc6”,以与旧的libc3/4/5的版本控制方案兼容。无论如何,Linux系统上的手册页都非常有帮助,但不一定是规范的。 glibc使用“info”系统而不是手册页,因此对于glibc函数,您可能比手册页更好看glibc manual。虽然实际路径函数上的bug类别在历史背景下很有趣,但除非您针对的是libc5系统(这肯定不是)并不是特别有用。

+0

感谢您的建议。不过,也许有人知道匹配版本的来源。 – 0xC0000022L 2011-05-06 22:13:06