hadoop本机库@rhel 7

2ic8powd  于 2021-06-01  发布在  Hadoop
关注(0)|答案(0)|浏览(304)

我正在尝试获得对snappy的hadoop本机库支持,因此开始为hadoop-2.7.3编译源代码,操作系统版本是rhel 7。在构建过程中,遇到以下错误,我从错误日志中知道问题出在c、c++、protobuf等,错误日志也附在附件中。请告知。

the maven build fails at 
[INFO] Apache Hadoop NFS .................................. SUCCESS [  0.791 s]
[INFO] Apache Hadoop KMS .................................. SUCCESS [  0.696 s]
[INFO] Apache Hadoop Common Project ....................... SUCCESS [  0.022 s]
[INFO] Apache Hadoop HDFS Client .......................... SUCCESS [  1.509 s]
[INFO] Apache Hadoop HDFS ................................. SUCCESS [  2.138 s]
[INFO] Apache Hadoop HDFS Native Client ................... FAILURE [  2.475 s]
[INFO] Apache Hadoop HttpFS ............................... SKIPPED
[INFO] Apache Hadoop HDFS-NFS ............................. SKIPPED
[INFO] Apache Hadoop HDFS-RBF ............................. SKIPPED
[INFO] Apache Hadoop HDFS Project ......................... SKIPPED

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.401 s
[INFO] Finished at: 2018-03-27T13:25:12-04:00
[INFO] Final Memory: 94M/427M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-hdfs-native-client: An Ant BuildException has occured: exec returned: 2
[ERROR] around Ant part ...<exec failonerror="true" dir="/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target" executable="make">... @ 9:132 in /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/antrun/build-main.xml
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-hdfs-native-client: An Ant BuildException has occured: exec returned: 2
around Ant part ...<exec failonerror="true" dir="/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target" executable="make">... @ 9:132 in /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/antrun/build-main.xml
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        a

cmakeerror.log文件

Determining if the pthread_create exist failed with the following output:
Change Dir: /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_38970/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_38970.dir/build.make CMakeFiles/cmTC_38970.dir/build
gmake[1]: Entering directory `/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_38970.dir/CheckSymbolExists.c.o
/usr/bin/cc     -o CMakeFiles/cmTC_38970.dir/CheckSymbolExists.c.o   -c /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_38970
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_38970.dir/link.txt --verbose=1
/usr/bin/cc       CMakeFiles/cmTC_38970.dir/CheckSymbolExists.c.o  -o cmTC_38970 -rdynamic
CMakeFiles/cmTC_38970.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x16): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
gmake[1]: Leaving directory `/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp'
gmake[1]:***[cmTC_38970] Error 1
gmake:***[cmTC_38970/fast] Error 2

File /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */

# include <pthread.h>

int main(int argc, char**argv)
{
  (void)argv;

# ifndef pthread_create

  return ((int*)(&pthread_create))[argc];

# else

  (void)argc;
  return 0;

# endif

}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_f697c/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_f697c.dir/build.make CMakeFiles/cmTC_f697c.dir/build
gmake[1]: Entering directory `/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_f697c.dir/CheckFunctionExists.c.o
/usr/bin/cc    -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_f697c.dir/CheckFunctionExists.c.o   -c /usr/local/share/cmake-3.4/Modules/CheckFunctionExists.c
Linking C executable cmTC_f697c
"~/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeError.log" 519L, 41169C
Linking C executable cmTC_f697c
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f697c.dir/link.txt --verbose=1
/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTC_f697c.dir/CheckFunctionExists.c.o  -o cmTC_f697c -rdynamic -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
gmake[1]: Leaving directory `/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp'
gmake[1]:***[cmTC_f697c] Error 1
gmake:***[cmTC_f697c/fast] Error 2

Performing C++ SOURCE FILE Test PROTOC_IS_COMPATIBLE failed with the following output:
Change Dir: /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_ba8c9/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_ba8c9.dir/build.make CMakeFiles/cmTC_ba8c9.dir/build
gmake[1]: Entering directory `/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_ba8c9.dir/src.cxx.o
/usr/bin/c++     -g -O2 -Wall -pthread -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -m32 -DPROTOC_IS_COMPATIBLE   -std=c++11 -o CMakeFiles/cmTC_ba8c9.dir/src.cxx.o -c /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp/src.cxx
Linking CXX executable cmTC_ba8c9
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ba8c9.dir/link.txt --verbose=1
/usr/bin/c++    -g -O2 -Wall -pthread -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -m32 -DPROTOC_IS_COMPATIBLE    CMakeFiles/cmTC_ba8c9.dir/src.cxx.o  -o cmTC_ba8c9 -rdynamic /usr/lib/libprotobuf.so /usr/lib/libprotoc.so
/usr/lib/libprotobuf.so: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
gmake[1]: Leaving directory `/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp'
gmake[1]:***[cmTC_ba8c9] Error 1
gmake:***[cmTC_ba8c9/fast] Error 2

Source file was:

# include <google/protobuf/io/printer.h>

    #include <string>
    int main(void) {
      ::google::protobuf::io::ZeroCopyOutputStream *out = NULL;
      ::google::protobuf::io::Printer printer(out, '$');
      printer.PrintRaw(std::string("test"));
      return 0;
    }
Performing C++ SOURCE FILE Test PROTOC_IS_COMPATIBLE failed with the following output:
Change Dir: /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/gmake" "cmTC_3f00e/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_3f00e.dir/build.make CMakeFiles/cmTC_3f00e.dir/build

Run Build Command:"/usr/bin/gmake" "cmTryCompileExec2395487968/fast"
/usr/bin/gmake -f CMakeFiles/cmTryCompileExec2395487968.dir/build.make CMakeFiles/cmTryCompileExec2395487968.dir/build
gmake[1]: Entering directory `/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp'
/usr/local/bin/cmake -E cmake_progress_report /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec2395487968.dir/src.cxx.o
/usr/bin/c++    -g -O2 -Wall -pthread -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -m32 -DPROTOC_IS_COMPATIBLE   -std=c++11 -o CMakeFiles/cmTryCompileExec2395487968.dir/src.cxx.o -c /root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp/src.cxx
Linking CXX executable cmTryCompileExec2395487968
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2395487968.dir/link.txt --verbose=1
/usr/bin/c++    -g -O2 -Wall -pthread -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -m32 -DPROTOC_IS_COMPATIBLE   CMakeFiles/cmTryCompileExec2395487968.dir/src.cxx.o  -o cmTryCompileExec2395487968 -rdynamic -lprotobuf -lprotoc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib/libprotobuf.so when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib/libprotobuf.a when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /lib/../lib/libprotobuf.so when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /lib/../lib/libprotobuf.a when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libprotobuf.so when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libprotobuf.a when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libprotobuf.so when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libprotobuf.a when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /lib/libprotobuf.so when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /lib/libprotobuf.a when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /usr/lib/libprotobuf.so when searching for -lprotobuf
/usr/bin/ld: skipping incompatible /usr/lib/libprotobuf.a when searching for -lprotobuf
/usr/bin/ld: cannot find -lprotobuf
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib/libprotoc.so when searching for -lprotoc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib/libprotoc.a when searching for -lprotoc
/usr/bin/ld: skipping incompatible /lib/../lib/libprotoc.so when searching for -lprotoc
/usr/bin/ld: skipping incompatible /lib/../lib/libprotoc.a when searching for -lprotoc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libprotoc.so when searching for -lprotoc
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libprotoc.a when searching for -lprotoc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libprotoc.so when searching for -lprotoc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libprotoc.a when searching for -lprotoc
/usr/bin/ld: skipping incompatible /lib/libprotoc.so when searching for -lprotoc
/usr/bin/ld: skipping incompatible /lib/libprotoc.a when searching for -lprotoc
/usr/bin/ld: skipping incompatible /usr/lib/libprotoc.so when searching for -lprotoc
/usr/bin/ld: skipping incompatible /usr/lib/libprotoc.a when searching for -lprotoc
/usr/bin/ld: cannot find -lprotoc
collect2: error: ld returned 1 exit status
gmake[1]:***[cmTryCompileExec2395487968] Error 1
gmake[1]: Leaving directory `/root/hadoop-source/hadoop/hadoop-hdfs-project/hadoop-hdfs-native-client/target/CMakeFiles/CMakeTmp'
gmake:***[cmTryCompileExec2395487968/fast] Error 2

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题