Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-8707 Implement an async pure c++ HDFS client
  3. HDFS-10332

hdfs-native-client fails to build with CMake 2.8.11 or earlier

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • None
    • hdfs-client
    • None

    Description

      Due to a new syntax introduced in CMake 2.8.12 (get_filename_component's function when VAR=DIRECTORY) the native-client won't build.

      Currently RHEL6 & 7 are using older version of CMake.

      Error log:

      [INFO] --- maven-antrun-plugin:1.7:run (make) @ hadoop-hdfs-native-client ---
      [INFO] Executing tasks
      
      main:
           [exec] JAVA_HOME=, JAVA_JVM_LIBRARY=/usr/java/jdk1.7.0_79/jre/lib/amd64/server/libjvm.so
           [exec] JAVA_INCLUDE_PATH=/usr/java/jdk1.7.0_79/include, JAVA_INCLUDE_PATH2=/usr/java/jdk1.7.0_79/include/linux
           [exec] Located all JNI components successfully.
           [exec] -- Could NOT find PROTOBUF (missing:  PROTOBUF_LIBRARY PROTOBUF_INCLUDE_DIR)
           [exec] -- valgrind location: MEMORYCHECK_COMMAND-NOTFOUND
           [exec] -- checking for module 'fuse'
           [exec] --   package 'fuse' not found
           [exec] -- Failed to find Linux FUSE libraries or include files.  Will not build FUSE client.
           [exec] -- Configuring incomplete, errors occurred!
           [exec] CMake Error at main/native/libhdfspp/CMakeLists.txt:71 (get_filename_component):
           [exec]   get_filename_component unknown component DIRECTORY
           [exec] Call Stack (most recent call first):
           [exec]   main/native/libhdfspp/CMakeLists.txt:95 (copy_on_demand)
           [exec]
           [exec]
           [exec] CMake Error at main/native/libhdfspp/CMakeLists.txt:71 (get_filename_component):
           [exec]   get_filename_component unknown component DIRECTORY
           [exec] Call Stack (most recent call first):
           [exec]   main/native/libhdfspp/CMakeLists.txt:96 (copy_on_demand)
           [exec]
           [exec]
           [exec] CMake Error at main/native/libhdfspp/CMakeLists.txt:71 (get_filename_component):
           [exec]   get_filename_component unknown component DIRECTORY
           [exec] Call Stack (most recent call first):
           [exec]   main/native/libhdfspp/CMakeLists.txt:97 (copy_on_demand)
           [exec]
           [exec]
           [exec] CMake Error at main/native/libhdfspp/CMakeLists.txt:71 (get_filename_component):
           [exec]   get_filename_component unknown component DIRECTORY
           [exec] Call Stack (most recent call first):
           [exec]   main/native/libhdfspp/CMakeLists.txt:98 (copy_on_demand)
           [exec]
           [exec]
           [exec] CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
           [exec] Please set them or make sure they are set and tested correctly in the CMake files:
           [exec] PROTOBUF_LIBRARY (ADVANCED)
           [exec]     linked by target "hdfspp" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp
           [exec]     linked by target "hdfspp_static" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp
           [exec]     linked by target "protoc-gen-hrpc" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto
           [exec]     linked by target "bad_datanode_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "hdfs_builder_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "hdfspp_errors_test" in directory /home/tiborkiss/devel/workspace
           [exec] /hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "libhdfs_threaded_hdfspp_test_shim_static" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/test
           [exec]     linked by target "logging_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "node_exclusion_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
      tiborkiss@eiger ~/d/w/hadoop ❯❯❯ cat ../HADOOP-cmake-error.txt
      [INFO] --- maven-antrun-plugin:1.7:run (make) @ hadoop-hdfs-native-client ---
      [INFO] Executing tasks
      
      main:
           [exec] JAVA_HOME=, JAVA_JVM_LIBRARY=/usr/java/jdk1.7.0_79/jre/lib/amd64/server/libjvm.so
           [exec] JAVA_INCLUDE_PATH=/usr/java/jdk1.7.0_79/include, JAVA_INCLUDE_PATH2=/usr/java/jdk1.7.0_79/include/linux
           [exec] Located all JNI components successfully.
           [exec] -- Could NOT find PROTOBUF (missing:  PROTOBUF_LIBRARY PROTOBUF_INCLUDE_DIR)
           [exec] -- valgrind location: MEMORYCHECK_COMMAND-NOTFOUND
           [exec] -- checking for module 'fuse'
           [exec] --   package 'fuse' not found
           [exec] -- Failed to find Linux FUSE libraries or include files.  Will not build FUSE client.
           [exec] -- Configuring incomplete, errors occurred!
           [exec] CMake Error at main/native/libhdfspp/CMakeLists.txt:71 (get_filename_component):
           [exec]   get_filename_component unknown component DIRECTORY
           [exec] Call Stack (most recent call first):
           [exec]   main/native/libhdfspp/CMakeLists.txt:95 (copy_on_demand)
           [exec]
           [exec]
           [exec] CMake Error at main/native/libhdfspp/CMakeLists.txt:71 (get_filename_component):
           [exec]   get_filename_component unknown component DIRECTORY
           [exec] Call Stack (most recent call first):
           [exec]   main/native/libhdfspp/CMakeLists.txt:96 (copy_on_demand)
           [exec]
           [exec]
           [exec] CMake Error at main/native/libhdfspp/CMakeLists.txt:71 (get_filename_component):
           [exec]   get_filename_component unknown component DIRECTORY
           [exec] Call Stack (most recent call first):
           [exec]   main/native/libhdfspp/CMakeLists.txt:97 (copy_on_demand)
           [exec]
           [exec]
           [exec] CMake Error at main/native/libhdfspp/CMakeLists.txt:71 (get_filename_component):
           [exec]   get_filename_component unknown component DIRECTORY
           [exec] Call Stack (most recent call first):
           [exec]   main/native/libhdfspp/CMakeLists.txt:98 (copy_on_demand)
           [exec]
           [exec]
           [exec] CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
           [exec] Please set them or make sure they are set and tested correctly in the CMake files:
           [exec] PROTOBUF_LIBRARY (ADVANCED)
           [exec]     linked by target "hdfspp" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp
           [exec]     linked by target "hdfspp_static" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp
           [exec]     linked by target "protoc-gen-hrpc" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto
           [exec]     linked by target "bad_datanode_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "hdfs_builder_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "hdfspp_errors_test" in directory /home/tiborkiss/devel/workspace
           [exec] /hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "libhdfs_threaded_hdfspp_test_shim_static" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "logging_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "node_exclusion_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "remote_block_reader_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec]     linked by target "rpc_engine_test" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/tests
           [exec] PROTOBUF_PROTOC_LIBRARY (ADVANCED)
           [exec]     linked by target "protoc-gen-hrpc" in directory /home/tiborkiss/devel/workspace/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/proto
           [exec]
      

      Attachments

        1. HDFS-10332.01.patch
          0.8 kB
          Tibor Kiss
        2. HDFS-10332.HDFS-8707.001.patch
          0.8 kB
          Tibor Kiss

        Activity

          People

            tibor.kiss@gmail.com Tibor Kiss
            tibor.kiss@gmail.com Tibor Kiss
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: