我在ubuntu上安装了glibc 2.19版本。我还想在我的机器上安装2.3.4版本和2.19。如何安装多个版本的glibc?
默认情况下,所有的程序应该使用2.19,但只有特定的程序应该使用2.3.4。
的两个问题是:
- 我应该如何安装2.3.4在特定的位置,说/usr/glibc2.3.4?
- 我应该如何指定特定程序才能使用2.3.4版本?
我在ubuntu上安装了glibc 2.19版本。我还想在我的机器上安装2.3.4版本和2.19。如何安装多个版本的glibc?
默认情况下,所有的程序应该使用2.19,但只有特定的程序应该使用2.3.4。
的两个问题是:
如果你只是想从glibc的你可以简单地使用LD_LIBRARY_PATH的其他版本的动态库。但是如果你想完全使用另一个版本,你需要对其他版本进行编译以获得静态部分。你也可能想要编译其他版本的glibc以获得所有的硬编码路径,指向你的安装目录来加载数据文件和插件(对于NSS和gconv)。使用--prefix=/usr/glibc2.3.4
还会将动态加载器的soname设置为/usr/glibc2.3.4/lib/ld-linux.so.2
(或类似取决于您的体系结构的内容),该加载器将被硬编码到与之链接的每个程序中。
/opt
第二个版本。LD_LIBRARY_PATH
首先在/opt
内查找库。
访问此:http://stackoverflow.com/questions/847179/multiple-glibc-libraries-on-a-single-host,可能会帮助你 – 2015-02-01 04:48:07
谁标记为“一般计算帮助”需要重新阅读网站关于什么是关闭/关于主题的指南。这是询问关于glibc - 一个编程库,它使问题在主题**中变成**。 – Qix 2015-02-01 04:55:13
@GauravDave:谢谢你的指针。我在发布这个问题之前看过你提到的那篇文章。它讨论如何将exe与非默认版本的glibc链接起来。这部分回答了我的第二个问题,但不完全是因为我有许多通过许多makefile构建的exes。根据提到的文章的解决方案,我将不得不修改这些许多makefile以指定--rpath和--dynamic-linker选项。我想知道是否存在更好的解决方案。第一个问题也没有回答,即如何安装不同版本的glibc以与默认版本共存。 – UnSat 2015-02-02 16:01:36