gpt4 book ai didi

hadoop - Hadoop 管道的链接器错误

转载 作者:可可西里 更新时间:2023-11-01 15:00:51 26 4
gpt4 key购买 nike

这里是 Hadoop n00b,刚刚开始使用 Hadoop Pipes。我在使用 hadoop-0.20.203(当前最新版本)编译一个简单的 WordCount 示例时遇到链接器错误,但在 hadoop-0.20.2 中没有出现相同代码

以下形式的链接器错误:HadoopPipes.cc 中对“EVP_sha1”的 undefined reference 。

EVP_sha1(以及我得到的所有 undefined reference )是 hadoop-0.20.203 中的 HadoopPipes.cc 使用的 openssl 库的一部分,但 hadoop-0.20.2 没有。

我已经尝试调整我的 makefile 以链接到 ssl 库,但我仍然不走运。任何想法将不胜感激。谢谢!

PS,这是我当前的 makefile:

CC = g++

HADOOP_INSTALL = /usr/local/hadoop-0.20.203.0

SSL_INSTALL = /usr/local/ssl

PLATFORM = Linux-amd64-64

CPPFLAGS = -m64 -I$(HADOOP_INSTALL)/c++/$(PLATFORM)/include -I$(SSL_INSTALL)/include

WordCount: WordCount.cc

$(CC) $(CPPFLAGS) $< -Wall -Wextra -L$(SSL_INSTALL)/lib -lssl -lcrypto -L$(HADOOP_INSTALL)/c++/$(PLATFORM)/lib -lhadooppipes -lhadooputils -lpthread -g -O2 -o $@

我正在使用的实际程序可以在 http://cs.smith.edu/dftwiki/index.php/Hadoop_Tutorial_2.2_--_Running_C%2B%2B_Programs_on_Hadoop 找到

最佳答案

这里有同样的问题:答案是将 -lcrypto 添加到编译命令行:

http://grokbase.com/p/hadoop.apache.org/common-user/2011/06/re-linker-errors-with-hadoop-pipes/09zqdt5grdudu7no7q6k3gfcynpy

这是修复构建过程的补丁:

diff --git src/examples/pipes/Makefile.in src/examples/pipes/Makefile.in
index 17efa2a..1d8af8e 100644
--- src/examples/pipes/Makefile.in
+++ src/examples/pipes/Makefile.in
@@ -233,7 +233,7 @@ AM_CXXFLAGS = -Wall -I$(HADOOP_UTILS_PREFIX)/include \
-I$(HADOOP_PIPES_PREFIX)/include

LDADD = -L$(HADOOP_UTILS_PREFIX)/lib -L$(HADOOP_PIPES_PREFIX)/lib \
- -lhadooppipes -lhadooputils
+ -lhadooppipes -lhadooputils -lcrypto


# Define the sources for each program

关于hadoop - Hadoop 管道的链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6051671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com