使用另一个 glibc 版本编译 Apache

使用另一个 glibc 版本编译 Apache

我的系统是旧glibc版本。我将新版本[2.23]编译成/FaF/glibc.

由于新glibc版本与 SLES 11 SP2 和 SP3 不兼容,我必须使用链接器开关 [ --rpath=/FaF/glibc/lib] 才能在我的程序中使用新版本。这非常有效!

glibc我无法在文件中设置新版本的路径ld.so.confg,因为所有系统程序都会尝试加载新glibc版本,并且系统会严重崩溃。

我的问题: 有没有办法glibc使用开关编译新版本的 Apache --rpath

答案1

最终答案就在Apache 构建文档 - 环境变量

就我而言,非常严重的问题是我的系统 [SLES 11 SP2] 在版本glibc2.23 时崩溃。

glibc这意味着我无法在文件中设置新库的路径ld.so.conf

对我来说唯一的解决方案是设置$LDFLAGS 跑步时configuremake使用以下值,以便系统可以按正确的顺序加载 Apache 和所有新库,并显式设置加载器:

export LDFLAGS="-L/FaF/lib64 -L/FaF/glibc/lib -L/FaF/openssl-curl/lib 
       -Wl,--rpath=/FaF/glibc/lib -Wl,--rpath=/FaF/lib64
       -Wl,--rpath=/FaF/lib -Wl,--rpath=/FaF/openssl-curl/lib
       -Wl,--rpath=/usr/local/lib64/ -Wl,--rpath=/usr/lib64
       -Wl,--rpath=/lib64/ -Wl,--dynamic-linker=/FaF/glibc/lib/ld-linux-x86-64.so.2"

所有使用新glibc版本的程序都收集在/FaF.

相关内容