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.