Question |
In Lotus Domino® running on a Linux platform, installing the Language Pack returns the following error message: "Unable to load native library: libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference. Running InstallShield Wizard..." |
Cause |
This is a known issue with other Java applications running on Linux. It is caused by an old release of the Java Virtual Machine (JVM) that shipped with the Language Pack Installer that uses internal "glibc" symbols. |
Answer |
This issue was reported to Quality Engineering as SPR# PFOI62AJ2U and was determined to be a software limitation. The workaround consists of preloading a shared library using the LD_PRELOAD environment variable before launching the Language Pack:
1. Double-click the following link to obtain the file:http://people.redhat.com/drepper/libcwait.c
2. Check to see if "gcc" is installed with "rpm -qa | grep gcc". If not present, install "gcc".
3. Compile the downloaded file with "gcc -shared -o libcwait.so -O -g libcwait.c".
4. Launch "export LD_PRELOAD=/path/to/libcwait.so".
5. Then launch the Language Pack Installer.
Contents of the libcwait.so file: #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 %%ebx/n/t" "movl %2, %%ebx/n/t" "movl %1, %%eax/n/t" "int $0x80/n/t" "popl %%ebx" : "=a" (res) : "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S" (0)); return res; } |