Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.7.1
-
None
-
IBM Java RHEL7.1
Description
Building hadoop-hdfs-project with -Pnative option using IBM Java fails with the following error
[exec] Linking C executable test_native_mini_dfs
[exec] /usr/bin/cmake -E cmake_link_script CMakeFiles/test_native_mini_dfs.dir/link.txt --verbose=1
[exec] /usr/bin/cc -g -Wall -O2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -fvisibility=hidden CMakeFiles/test_native_mini_dfs.dir/main/native/libhdfs/test_native_mini_dfs.c.o -o test_native_mini_dfs -rdynamic libnative_mini_dfs.a /home/ayappan/ibm-java-ppc64le-71/jre/lib/ppc64le/classic/libjvm.so -lpthread -Wl,-rpath,/home/ayappan/ibm-java-ppc64le-71/jre/lib/ppc64le/classic
[exec] make[2]: Leaving directory `/home/ayappan/hadoop_2.7.1_new/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/native'
[exec] make[1]: Leaving directory `/home/ayappan/hadoop_2.7.1_new/hadoop/hadoop-hdfs-project/hadoop-hdfs/target/native'
[exec] /home/ayappan/ibm-java-ppc64le-71/jre/lib/ppc64le/classic/libjvm.so: undefined reference to `dlopen'
[exec] /home/ayappan/ibm-java-ppc64le-71/jre/lib/ppc64le/classic/libjvm.so: undefined reference to `dlclose'
[exec] /home/ayappan/ibm-java-ppc64le-71/jre/lib/ppc64le/classic/libjvm.so: undefined reference to `dlerror'
[exec] /home/ayappan/ibm-java-ppc64le-71/jre/lib/ppc64le/classic/libjvm.so: undefined reference to `dlsym'
[exec] /home/ayappan/ibm-java-ppc64le-71/jre/lib/ppc64le/classic/libjvm.so: undefined reference to `dladdr'
[exec] collect2: error: ld returned 1 exit status
[exec] make[2]: *** [test_native_mini_dfs] Error 1
[exec] make[1]: *** [CMakeFiles/test_native_mini_dfs.dir/all] Error 2
[exec] make: *** [all] Error 2
It seems like the IBM jvm requires libdl for linking in native_mini_dfs.