关于LD_ASSUME_KERNEL环境变量的设置

关于LD_ASSUME_KERNEL环境变量的设置
在Redhat 9上安装了IDS 9.4,运行都能正常,但是每次都提示:
Incorrectly built binary which accesses errno, h_errno or _res directly. Needs to be fixed.

相关信息好像是说跟LD_ASSUME_KERNEL这个环境变量有关

“Red Hat Linux 9 发行注记”
Red Hat Linux 9 包括 Native POSIX Thread Library (NPTL),它是 Linux 的 POSIX 线程的新实现。该库为 i686 或更高的处理器提供了性能增进和增加了的可缩放性。

该线程库的设计目标是与原有的 LinuxThreads 实现在二进制上兼容;不过,依赖于脱离 POSIX 标准的 LinuxThreads 实现之处的应用程序将需要被修正。值得注意的不同之处包括:

– 信号处理已从每线程信号处理改成 POSIX 进程信号处理。
– getpid() 在所有的线程中返回相同值。
– 如果使用了 vfork(),用 pthread_atfork 注册的线程处理程序就不会运行。
使用 NPTL 时会遇到问题的已知应用程序包括:
– 版本 1.4.1 之前的 Sun JRE
– IBM JRE

如果某应用程序使用 NPTL 无法正确运行,它可以使用原有的 LinuxThreads 实现来运行,方法是设置以下的环境变量:

LD_ASSUME_KERNEL=

可用的版本如下:

– 2.4.1 — 带有浮动堆栈的 Linuxthreads
– 2.2.5 — 没有浮动堆栈的 Linuxthreads

所有动态链接的程序的 NPTL 支持可以使用以下引导时间选项来禁用:

nosysinfo

发表回复