如何在Arch Linux上安装protobuf 2.5,使用maven 3.3.1编译hadoop 2.6.0

for*_*oke 10 linux hadoop maven-3

我正在寻找在Arch Linux上安装protobuf 2.5.0,以便在操作系统上安装protoc-2.5.0.so,这样我就可以继续从源代码构建hadoop 2.6.0并让我的生活更轻松!:)

顺便说一句,当我从源代码构建hadoop时,protobuf 2.6.0无法编译.Ubuntu 14.04附带了protoc 2.5.0.我不想使用Ubuntu.

请先检查屏幕截图(没有protobuf 2.5.0),因为问题就在那里..我想得到以下异常,我知道protoc目前没有安装在arch linux中.

[错误]无法执行目标org.apache.hadoop:hadoop-maven-plugins:2.6.0:protoc(compile-protoc)项目hadoop-common:org.apache.maven.plugin.MojoExecutionException:'protoc --version '没有返回版本 - > [帮助1]

请帮帮我,因为,我从两天起每天花4个小时,没有运气.

Rud*_*ker 29

编译Google的protobuf非常简单.我最初在自己编译hadoop 时候发现了如何在这篇博客文章中做到这一点.

但这是我的版本:

$ cd /usr/local/src/
$ wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
$ tar xvf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ ./autogen.sh
$ ./configure --prefix=/usr
$ make
$ make install
$ protoc --version
Run Code Online (Sandbox Code Playgroud)

为java安装protobuf

$ cd java
$ mvn install
$ mvn package
Run Code Online (Sandbox Code Playgroud)

你应该好好去.

要使您能够安装不同版本的protobuf,请安装stow 然后更改./configure --prefix=/usr./configure --prefix=/usr/local/stow/protobuf-2.5.0

然后使用stow将protobuf链接到您的系统:

$ cd /usr/local/stow
$ stow protobuf-2.5.0
Run Code Online (Sandbox Code Playgroud)

注意:stow默认情况下使用/ usr/local/bin.确保你的$PATH

取消关联该版本的protobuf,

$ stow -D protobuf-2.5.0
Run Code Online (Sandbox Code Playgroud)

希望这有帮助.