I built hadoop-3.2.2 from source as part of an effort to package it as an
RPM. The RPM installation failed stating the following libraries were not
found -
libjvm.so()(64bit)
libjvm.so(SUNWprivate_1.1)(64bit)
Trying to figure out what was causing the problem lead to figuring out that
the dependencies were coming in from libhadoop.so -
> find . -name '*.so*' -exec ls {} \; -exec ldd {} \;
/usr/lib/hadoop/lib/native/libhadoop.so
linux-vdso.so.1 (0x00007fffdd1e8000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fe2f4def000)
libjvm.so => not found
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fe2f4dce000)
libc.so.6 => /lib/libc.so.6 (0x00007fe2f4c16000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe2f4e21000)
./usr/lib/hadoop/lib/native/libnativetask.so
linux-vdso.so.1 (0x00007ffd7d35a000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fe8fbd90000)
librt.so.1 => /lib/librt.so.1 (0x00007fe8fbd86000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fe8fbd65000)
libz.so.1 => /lib/libz.so.1 (0x00007fe8fbb47000)
libjvm.so => /usr/lib/jvm/OpenJDK8-1.8.0/jre/lib/amd64/server/libjvm.so
(0x00007fe8fade9000)
libstdc++.so.6 => /lib/libstdc++.so.6 (0x00007fe8fac61000)
libm.so.6 => /lib/libm.so.6 (0x00007fe8faadf000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fe8faac6000)
libc.so.6 => /lib/libc.so.6 (0x00007fe8fa90e000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe8fbdfe000)
The library is not located in default search paths. This is where it is
located - /usr/lib/jvm/OpenJDK8-1.8.0/jre/lib/amd64/server/libjvm.so
Are there pointers to what I can do within hadoop-3.2.2 src code to fix
this?
I found an old HADOOP JIRA on this but there were no responses to the issue
raised - https://issues.apache.org/jira/browse/HADOOP-9001
Thanks,
Sharan