If running a legacy java app on a newer RH or RHEL system, youget:
Error occurred during initialization of VMUnable to load native library:.../libjava.so: symbol __libc_wait, version GLIBC_2.0 notdefined in file libc.so.6 with link time reference
This is a symptom of an older JDKs that is buggy. Jakub Jelinek of RedHat suggests the following:
gcc -O2 -shared -o ~/libcwait.so -fpic -xc - <<EOF#include <errno.h>#include <sys/syscall.h>#include <sys/types.h>#include <sys/wait.h>pid_t__libc_wait (int *status){ int res; asm volatile ("pushl %%ebxnt" "movl %2, %%ebxnt" "movl %1, %%eaxnt" "int /bin/shx80nt" "popl %%ebx" : "=a" (res) : "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S" (0)); return res;}EOF
and using LD_ASSUME_KERNEL=2.4.19 LD_PRELOAD=~/libcwait.so when you need to load the buggy JDK.