Linux编译Hadoop成64位常见错误

[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]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[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参数,重新编译和安装。

[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: Execute failed: java.io.IOException: Cannot run program "cmake" (in
 
    directory "/home/wyf/hadoop-2.0.2-alpha-src/hadoop-common-project/hadoop-
 
    common/target/native"): java.io.IOException: error=2, No such file or directory
 
    -> [Help 1]
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e
 
    switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please
 
    read the following articles:
    [ERROR] [Help 1]
 
    http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

安装Cmake

sudo apt-get install cmake

ERROR] Failed to execute goal org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-
 
alpha-3:compile (hdfs) on project hadoop-hdfs: Execution hdfs of goal
 
org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3:compile failed: Plugin
 
org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3 or one of its dependencies
 
could not be resolved: Could not transfer artifact ant:ant:jar:1.6.5 from/to
 
central (http://repo.maven.apache.org/maven2): GET request of:
 
ant/ant/1.6.5/ant-1.6.5.jar from central failed: Read timed out -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e
 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please
 
read the following articles:
[ERROR] [Help 1]
 
http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[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

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

protobuf版本过低

安装2.5版本的即可

[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:
[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了。

.[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
     [exec] /usr/bin/ld: cannot find -ljvm
     [exec] collect2: ld returned 1 exit status
     [exec] make: *** [libhadoopsnappy.la] 错误 1
     [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/问题即可解决。

[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]

[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

安装zlib-devel

ubuntu安装是

sudo apt-get install zlib1g-dev

[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
[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
[ERROR] -> [Help 1]

安装:sudo apt-get install libssl-dev

[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
[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

时间: 2024-10-15 04:44:30

Linux编译Hadoop成64位常见错误的相关文章

大数据技术之_03_Hadoop学习_02_入门_Hadoop运行模式+【本地运行模式+伪分布式运行模式+完全分布式运行模式(开发重点)】+Hadoop编译源码(面试重点)+常见错误及解决方案

第4章 Hadoop运行模式4.1 本地运行模式4.1.1 官方Grep案例4.1.2 官方WordCount案例4.2 伪分布式运行模式4.2.1 启动HDFS并运行MapReduce程序4.2.2 启动YARN并运行MapReduce程序4.2.3 配置历史服务器4.2.4 配置日志的聚集4.2.5 配置文件说明4.3 完全分布式运行模式(开发重点)4.3.1 虚拟机准备4.3.2 编写集群分发脚本xsync4.3.3 集群配置4.3.4 集群单点启动4.3.5 SSH无密登录配置4.3.6

Xcode设置Standard Architectures (including 64-bit)将以前的应用编译成64位程序

使用Xcode 可以很方便地将以前的应用编译成64位程序,基本过程如下:1. 使用Xcode 5 打开原有项目.2. 将支持的设备改成"iOS 7".3. 在"Build Setting"中将"Architectures"改成"Standard Architectures (including 64-bit)".4. 运行测试程序,解决编译过程出现的问题.

Linux系统CentOS6.5 64位注册、安装git版本控制工具

一.描述 本文描述Linux系统CentOS6.5 64位注册.安装git版本控制工具整个过程,其中Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.作为开源代码库以及版本控制系统,Github拥有140多万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法. 二.git安装和使用步骤 1.在GitHub官网上注册免费账号并且建立自己代码仓库(Repository) GitHub官网注

cmake编译win下64位obs

obs是一款开源编码推流工具,简单易用,非常流行.一次项目中,发现本台式机I3处理器下32位obs推流CPU使用率100%.而使用的第三方设备在64位下,性能较好.所以需要编译64位obs并且编译相应的64位插件. 根据官方说明文档,编译64位obs.参考文档:https://github.com/jp9000/obs-studio/wiki/Install-Instructions说明一下本机软件环境:vs2013 update5.qt5.4.1_64位.win版本cmake64位.1. 首先

Android 源码编译环境搭建(64位Ubuntu)各种依赖包安装

1.准备: 普通PC(要求能上网), PC的操作系统Ubuntu 10.04 LTS(64位的),已经下载好的Android 1.6_r1的源代码. 2.Linux的依赖package安装: 为了更快的下载和安装包,请首先修改Ubuntu10.04的更新源,修改步骤如下: 在终端中运行: $ sudo gedit /etc/apt/sources.list 将打开文本编辑器,修改源服务器的列表,这里使用网易的源, 地址如下:摘自网络 deb http://mirrors.163.com/ubun

Linux 源码安装apache 与常见错误解决

文档原位置 一.编译安装apache 1.解决依赖关系 httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级. 升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包(谨慎!小心).下面是使用源代码的方式行,它们的下载路径为:(~_~)这里不再说到那里下载了,相信你有能力找的到的,呵呵 2.安装依赖的软件包(当然这里可以认为成需要的编译环境咯!) yum -y install pcre-devel yum -y install  "Developmen

linux下安装oracle11g 64位最简客户端(转)

安装环境 Linux服务器:SuSe11 sp1 64位           Oracle客户端:Oracle11gR2 64位(最简客户端) 部署流程 1.准备工作,首先在oracle官网下载最新的oracle11g_x86_64客户端 http://www.oracle.com/technetwork/cn/products/express-edition/downloads/index.html 下载完成后,完整包如下图所示:   2.将其复制到linux中,使用unzip命令解压. 3.

linux编译mysql关于mysql.sock的错误

我编译mysql时,都直接把mysql.sock指向了mysql/run/下面:  -DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock \ 提示mysql.sock文件找不到,我总结我遇到的情况.第一种:没有指定mysql.sock路径,这时我们可以建一个软链接指向该地址,或者直接更改/etc/my.cnf更改sock文件地址 第二种:自己的安装顺序出错了,这里记录一下linux编译mysql的步骤. 1.wget mysql下载地址. 2.yum

Linux编译Hadoop源码优先使用

1.配置yum  2.安装JDK 2.1上传 2.2解压jdk #创建文件夹 mkdir /usr/java #解压 tar -zxvf   jdk-7u79-linux-i586.tar.gz  -C /usr/java/ 2.3将java添加到环境变量中 vim /etc/profile #在文件最后添加 JAVA_HOME=/usr/java/jdk1.7.0_79 export PATH=$JAVA_HOME/bin:$PATH #刷新配置 source /etc/profile 3.源