尽管它需要的资源比glibc少,但是将应用程序移植到uClibc上通常只需要重新编译即可。
在我使用的发行版gentoo中,需要将“profile”添加到USE标志中,并重新执行emergeglibc。
如果想解决这个问题,或者使用较旧版本的C语言库,或者使用glibc的另外的特性以及对应的运行时链接器(runtimelinker’)。
如果你恰好遇到像上面这样的关于symbolerrno的错误信息,就说明你的程序被链接到了某个版本号低于2.3的glibc上。
然而,如果我们需要标准的C库(我们自己定制的二进制可能需要这个库),除了巨大的glibc之外,我们还有其他选择。
由于glibc囊括了几乎所有的UNIX通行的标准,可以想见其内容包罗万有。
源代码除了像BDB,OpenSSL,TCL,STL,glibc和expat等等的标准库以外没有其它任何的外部依赖。
许多发起系统调用的glibc内部特性都将系统调用直接实现为内联的,而不是通过标准的“包装器”进行调用。
GNUCLibrary,即glibc,是标准C库的实现。
uClibc是glibc一个精简内存需求的替代品。
要进一步缩减initrd文件的大小,请考虑使用glibc的替代库,例如uClibc或dietlib。
glibc库支持locale,并且如您所看到的,可以使用ISO标准10646来显示和编辑UTF-8。
本节将介绍GNU工具链中的变化,涉及到glibc、bintuils、as、ld和gcc。
现在,zoo程序就能正常启动了,而且glibc,libgcc和libstdc++的版本也可以按照自己的需要规定了。
在这种情况下,可能你不得不安装拥有较老版本(比如2.2.5版本)的兼容环境。
im-httpd,非常小的服务器——只有大约7KB,链接到glibc。
不过,在SLES9上编译的同样的源文件将因较老的glibc而不能在SLES8系统中运行。
但是,在RHEL3上编译的应用程序将在运行时期望glibc2.3.1,并且通常不会运行在SLES8上。
在Linux平台上使用UTF-8之前,请确信分发包里有glibc2.2和XFree864.0或更新的版本。