构建象鸟时出错

sqxo8psd  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(252)

我正在尝试构建twitter的 elephant-bird 程序包,以便可以将其用于pig,但我遇到了一个错误:

[INFO] Elephant Bird ..................................... SUCCESS [0.638s]
[INFO] Elephant Bird Hadoop Compatibility ................ SUCCESS [1.213s]
[INFO] Elephant Bird Core ................................ FAILURE [0.580s]
[INFO] Elephant Bird Cascading2 .......................... SKIPPED
[INFO] Elephant Bird Hive ................................ SKIPPED
[INFO] Elephant Bird Pig ................................. SKIPPED
[INFO] Elephant Bird Mahout .............................. SKIPPED
[INFO] Elephant Bird RCFile .............................. SKIPPED
[INFO] Elephant Bird Lucene .............................. SKIPPED
[INFO] Elephant Bird Pig Lucene .......................... SKIPPED
[INFO] Elephant Bird Examples ............................ SKIPPED

[ERROR] Failed to execute goal com.github.igor-petruk.protobuf:protobuf-maven-plugin:0.4:run (default) on project elephant-bird-core: Protobuf installation version does not match Protobuf library version -> [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 :elephant-bird-core

以下是我的系统的maven信息:

Apache Maven 3.0.3 (r1075438; 2011-02-28 09:31:09-0800)
Maven home: /usr/share/maven
Java version: 1.7.0_45, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.3", arch: "x86_64", family: "mac"

我已经安装了thrift和protobuf。
根据jigar的建议,我修复了这里遇到的第一个构建错误,这个错误与protobuf的版本有关。我还更新了pom文件中导致错误的thrift的版本号。但我仍然得到以下错误:

[INFO] Elephant Bird ..................................... SUCCESS [0.647s]
[INFO] Elephant Bird Hadoop Compatibility ................ SUCCESS [1.157s]
[INFO] Elephant Bird Core ................................ FAILURE [7.434s]
[INFO] Elephant Bird Cascading2 .......................... SKIPPED
[INFO] Elephant Bird Hive ................................ SKIPPED
[INFO] Elephant Bird Pig ................................. SKIPPED
[INFO] Elephant Bird Mahout .............................. SKIPPED
[INFO] Elephant Bird RCFile .............................. SKIPPED
[INFO] Elephant Bird Lucene .............................. SKIPPED
[INFO] Elephant Bird Pig Lucene .......................... SKIPPED
[INFO] Elephant Bird Examples ............................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.987s
[INFO] Finished at: Mon Oct 21 14:25:09 PDT 2013
[INFO] Final Memory: 20M/369M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project elephant-bird-core: Compilation failure
[ERROR] /Users/evanzamir/Pig/pig-jars/elephant-bird/core/src/main/java/org/apache/thrift/Fixtures.java:[118,69] error: cannot find symbol
[ERROR] -> [Help 1]
w9apscun

w9apscun1#

我也遇到了同样的问题,找到了解决办法。您需要安装protobuf2.4.1和thrift 0.7.0。我已经创建了演示文稿,其中包含了要遵循的步骤(关于如何安装旧版本)。希望这会有帮助
http://www.slideshare.net/kapildewade/elephant-bird-build-error

jtw3ybtb

jtw3ybtb2#

如错误消息所示:
protobuf安装版本与protobuf库版本不匹配
您使用了错误版本的协议缓冲区@jigarjoshi发布了一个指针,向您展示如何将其更改为正确的版本。
编辑:下面回答用户报告的新错误。
阅读错误消息并试图理解它们是很重要的。例如,这一条说:
/users/evanzamir/pig/pig jars/elephant bird/core/src/main/java/org/apache/thrift/fixtures.java:[118,69]错误:找不到符号
这意味着文件里 Fixtures.java ,在第118行(字符69)中,有一个符号(例如,变量或方法名)以前没有定义(或正确导入/正确限定)。

相关问题