是否有可能让基于、glibc、和uClibc的应用程序在一个系统上并行运行?
背景:基于二进制gcc的交叉编译器配置为与uClibc链接.我们有交叉编译的格鲁比克。现在,我们希望构建一些应用程序,以便它们能够与glibc而不是uClibc链接。我们不想重建编译器。
发布于 2010-11-05 16:41:04
glibc和uClibc与连接到一个和另一个程序的一些程序并驾齐驱没有问题。但是,附加库存在问题。系统上的每个共享库都将针对glibc或uClibc构建(使用相应的标头,为标准库函数定义不同的ABI),因此,例如,如果一个glibc程序和一个uClibc程序都需要ncurses,则需要构建两个版本的ncurses,并有一种确保在运行时加载给定程序的正确版本的方法。或者,您可以选择只使用一组共享库,并将静态库用于链接到其他libc的程序,但仍然需要构建2组库。
发布于 2010-11-05 08:01:20
是的,这应该是完全有可能的,但是你可能不得不使用LD_PRELOAD_PATH。如果是静态链接,则更改为动态链接。
发布于 2013-07-01 13:45:29
几乎不可能将它们混合在同一个FHS中,因为ABI和include dir是不兼容的。但是,您可以通过在ELF中微调动态链接器字段并利用gcc/binutils中的sysroot特性,将它们安装在目录偏移量中。正在进行的实验是在Gentoo community1中进行的,称为前缀/libc。
https://stackoverflow.com/questions/4104250
复制相似问题