Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-8922

Link the native_mini_dfs test library with libdl, since IBM Java requires it

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.7.1
    • Fix Version/s: 2.8.0, 3.0.0-alpha1
    • Component/s: build
    • Labels:
      None
    • Environment:

      IBM Java RHEL7.1

    • Target Version/s:

      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.

        Attachments

          Activity

            People

            • Assignee:
              Ayappan Ayappan
              Reporter:
              Ayappan Ayappan
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: