【发布时间】:2011-05-18 22:14:54
【问题描述】:
这里是 Hadoop n00b,刚刚开始使用 Hadoop Pipes。我在使用 hadoop-0.20.203(当前最新版本)编译一个简单的 WordCount 示例时遇到链接器错误,该示例在 hadoop-0.20.2 中没有出现在相同的代码中
以下形式的链接器错误:未定义对 HadoopPipes.cc 中的“EVP_sha1”的引用。
EVP_sha1(以及我得到的所有未定义引用)是 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找到
【问题讨论】:
标签: hadoop pipe linker-errors