Ubuntu编译Hadoop编码异常总结

运维 系统运维 Linux Hadoop
本文汇总了Ubuntu编译Hadoop编码异常,从9个错误的例子当中分析了相关所需要的依赖程序、环境变量、版本问题等等。

错误1:

  1. [ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: protoc version is 'libprotoc 2.4.1', expected version is '2.5.0' -> [Help 1]  
  2. [ERROR]  
  3. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.  
  4. [ERROR] Re-run Maven using the -X switch to enable full debug logging.  
  5. [ERROR]  
  6. [ERROR] For more information about the errors and possible solutions, please read the following articles:  
  7. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException  
  8. [ERROR]  
  9. [ERROR] After correcting the problems, you can resume the build with the command  
  10. [ERROR] mvn <goals> -rf :hadoop-common 

安装protoc

wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

(此处下载https://code.google.com/p/protobuf/downloads/list

解压, 进入根目录执行 sudo ./configure --prefix=/usr

若安装报错:

cpp: error trying to exec 'cc1plus': execvp: No such file or directory

则安装g++

sudo apt-get install g++

sudo make

sudo make check

sudo make install

protoc --version

遇到protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared object file: No such file or directory时,如ubuntu系统,默认安装在/usr/local/lib下,需要指定/usr。sudo ./configure --prefix=/usr 必须加上--proix参数,重新编译和安装。

错误2:

  1. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-  
  2.  
  3. plugin:1.6:run (make) on project hadoop-common: An Ant BuildException has  
  4.  
  5. occured: Execute failed: java.io.IOException: Cannot run program "cmake" (in  
  6.  
  7. directory "/home/wyf/hadoop-2.0.2-alpha-src/hadoop-common-project/hadoop-  
  8.  
  9. common/target/native"): java.io.IOException: error=2, No such file or directory  
  10.  
  11. -> [Help 1]  
  12. [ERROR]  
  13. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e  
  14.  
  15. switch.  
  16. [ERROR] Re-run Maven using the -X switch to enable full debug logging.  
  17. [ERROR]  
  18. [ERROR] For more information about the errors and possible solutions, please  
  19.  
  20. read the following articles:  
  21. [ERROR] [Help 1]  
  22.  
  23. http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

安装Cmake

sudo apt-get install cmake

错误3:

  1. ERROR] Failed to execute goal org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-  
  2.    
  3. alpha-3:compile (hdfs) on project hadoop-hdfs: Execution hdfs of goal  
  4.    
  5. org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3:compile failed: Plugin  
  6.    
  7. org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3 or one of its dependencies  
  8.    
  9. could not be resolved: Could not transfer artifact ant:ant:jar:1.6.5 from/to  
  10.    
  11. central (http://repo.maven.apache.org/maven2): GET request of:  
  12.    
  13. ant/ant/1.6.5/ant-1.6.5.jar from central failed: Read timed out -> [Help 1]  
  14. [ERROR]  
  15. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e  
  16.    
  17. switch.  
  18. [ERROR] Re-run Maven using the -X switch to enable full debug logging.  
  19. [ERROR]  
  20. [ERROR] For more information about the errors and possible solutions, please  
  21.    
  22. read the following articles:  
  23. [ERROR] [Help 1]  
  24.    
  25. http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException  
  26. [ERROR]  
  27. [ERROR] After correcting the problems, you can resume the build with the command  
  28. [ERROR]   mvn <goals> -rf :hadoop-hdfs 

安装ant

1.首先下载ant

百度网盘: apache-ant-1.9.4-bin.tar.gz

http://pan.baidu.com/s/1c0vjhBy

或则下面链接:

apache-ant-1.9.4-bin.tar.gz

2.解压

tar zxvf apache-ant-1.9.4-bin.tar.gz

3.配置环境变量

vim ~/.bashrc

export ANT_HOME=/home/xxl/apache-ant-1.9.4

export PATH=$ANT_HOME:$PATH

source ~/.bashrc

 

错误4:

  1. [ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.4.0:prot  
  2. oc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecut  
  3. ionException: 'protoc --version' did not return a version -> [Help 1]  
  4. [ERROR]  
  5. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit  
  6. ch.  
  7. [ERROR] Re-run Maven using the -X switch to enable full debug logging.  
  8. [ERROR]  
  9. [ERROR] For more information about the errors and possible solutions, please rea  
  10. d the following articles:  
  11. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE  
  12. xception  
  13. [ERROR]  
  14. [ERROR] After correcting the problems, you can resume the build with the command  
  15.  
  16. [ERROR]   mvn <goals> -rf :hadoop-common 

protobuf版本过低

安装2.5版本的即可

 

错误5:

  1. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (compile) on project hadoop-snappy: An Ant BuildException has occured: The following error occurred while executing this line:  
  2. [ERROR] /home/ngc/Char/snap/hadoop-snappy/hadoop-snappy-read-only/maven/build-compilenative.xml:75: exec returned: 2 

这个原因比较恶心,是因为Hadoop snappy对gcc版本还有要求,因为我是2012年12月份的ubuntu12.04,所以gcc已经是4.6了,但是在google code那看到有人说他从gcc4.6回退成gcc4.4就ok了,我也是了一下,果然这个错误没有了。

gcc --version #查看gcc版本

gcc (Ubuntu/Linaro 4.4.7-1ubuntu2) 4.6.3

Copyright © 2010 Free Software Foundation, Inc.

本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;

包括没有适销性和某一专用目的下的适用性担保。

如何回退呢?

1. apt-get install gcc-4.4

2. rm /usr/bin/gcc

3. ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

之后,再gcc --version,你就会发现,gcc已经变成4.4.7了。

错误6:

  1. .[exec] /bin/bash ./libtool --tag=CC   --mode=link gcc -g -Wall -fPIC -O2 -m64 -g -O2 -version-info 0:1:0 -L/usr/local//lib -o libhadoopsnappy.la -rpath /usr/local/lib src/org/apache/hadoop/io/compress/snappy/SnappyCompressor.lo src/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.lo  -ljvm -ldl  
  2.      [exec] /usr/bin/ld: cannot find -ljvm  
  3.      [exec] collect2: ld returned 1 exit status  
  4.      [exec] make: *** [libhadoopsnappy.la] 错误 1  
  5.      [exec] libtool: link: gcc -shared  -fPIC -DPIC  src/org/apache/hadoop/io/compress/snappy/.libs/SnappyCompressor.o src/org/apache/hadoop/io/compress/snappy/.libs/SnappyDecompressor.o   -L/usr/local//lib -ljvm -ldl  -O2 -m64 -O2   -Wl,-soname -Wl,libhadoopsnappy.so.0 -o .libs/libhadoopsnappy.so.0.0.1 

网上有很多 解决/usr/bin/ld: cannot find -lxxx 这样的博客,但是这里,我告诉你,他们的都不适用。因为这儿既不是缺什么,也不是版本不对,是因为没有把安装jvm的libjvm.so symbolic link到usr/local/lib。如果你的系统时amd64,可到/root/bin/jdk1.6.0_37/jre/lib/amd64/server/察看libjvm.so link到的地方,这里修改如下:

ln -s /root/bin/jdk1.6.0_37/jre/lib/amd64/server/libjvm.so /usr/local/lib/

问题即可解决。
 

错误7:

  1. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on project hadoop-common: An Ant BuildException has occured: exec returned: 1 -> [Help 1]  
  2. [ERROR]  
  3. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.  
  4. [ERROR] Re-run Maven using the -X switch to enable full debug logging.  
  5.    
  6. 安装zlib-devel  
  7. ubuntu安装是  
  8. sudo apt-get install zlib1g-dev 

安装zlib-devel

ubuntu安装是

sudo apt-get install zlib1g-dev
 

 

错误8:

  1. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-pipes: An Ant BuildException has occured: exec returned: 1  
  2. [ERROR] around Ant part ...<exec dir="/home/xxl/hadoop-2.5.2-src/hadoop-tools/hadoop-pipes/target/native" executable="cmake" failonerror="true">... @ 5:120 in /home/xxl/hadoop-2.5.2-src/hadoop-tools/hadoop-pipes/target/antrun/build-main.xml  
  3. [ERROR] -> [Help 1] 

 

安装:sudo apt-get install libssl-dev

 

错误9:

  1. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (tar) on project hadoop-dist: An Ant BuildException has occured: exec returned: 1  
  2. [ERROR] around Ant part ...<exec dir="/home/xxl/hadoop-2.5.2-src/hadoop-dist/target" executable="sh" failonerror="true">... @ 21:96 in /home/xxl/hadoop-2.5.2-src/hadoop-dist/target/antrun/build-main.xml 

 

安装:sudo apt-get install build-essential

sudo apt-get install libglib2.0-dev

 

原文出自:http://my.oschina.net/laigous/blog/356552

责任编辑:林师授 来源: laigous的博客
相关推荐

2021-03-18 10:01:06

Java编译异常运行异常

2009-12-29 11:11:10

2010-01-04 10:06:56

Ubuntu gcc

2011-11-02 21:31:01

Ubuntu行情

2009-07-10 16:20:48

Ubuntu安装JDKUbuntu 7.10

2022-03-04 08:31:07

Spring异常处理

2009-08-05 18:39:54

C#异常类

2010-01-07 16:47:01

2010-01-04 18:56:06

Ubuntu内核

2010-02-06 17:08:58

Ubuntu ngin

2010-01-27 15:11:17

VC++编译异常

2010-01-07 17:35:03

Ubuntu mysq

2009-12-30 16:38:44

Ubuntu内核

2010-01-07 14:31:59

Ubuntu编译

2010-01-07 16:34:08

Ubuntu apac

2010-02-05 11:00:33

Ubuntu GCC

2009-12-30 09:22:01

Ubuntu编译

2023-03-09 11:02:40

linux编译源码

2010-05-19 17:24:55

MySQL编码

2012-11-01 17:15:04

点赞
收藏

51CTO技术栈公众号