我在Amazon EC2上配置的RedHat服务器上安装HAWQ。我已经在群集上安装了HDP 2.3。 我从Github克隆了HAWQ。
首先我运行./configure --prefix=/opt/hawq
。
在第二步中,我运行make
。
当我从make
的根文件夹运行incubator-hawq
时,依赖项正在正确编译。当make
从根目录(src
)中的incubator-hawq
文件夹进行编译时,会出现以下错误:
make[2]: Entering directory `/root/incubator-hawq/src/port'
gcc -O3 -std=gnu99 -Wall -Wmissing-prototypes -Wpointer-arith -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -fno-aggressive-loop-optimizations -I/usr/include/libxml2 -I../../src/port -DFRONTEND -I../../src/include -D_GNU_SOURCE -I/root/incubator-hawq/depends/libhdfs3/build/install/usr/local/hawq/include -I/root/incubator-hawq/depends/libyarn/build/install/usr/local/hawq/include -c -o copydir.o copydir.c
In file included from copydir.c:25:0:
../../src/include/storage/fd.h:61:23: fatal error: hdfs/hdfs.h: No such file or directory
#include "hdfs/hdfs.h"
^
compilation terminated.
make[2]: *** [copydir.o] Error 1
make[2]: Leaving directory `/root/incubator-hawq/src/port'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/incubator-hawq/src'
make: *** [all] Error 2
我知道编译器找不到hdfs/hdfs.h
,但是当成功编译依赖项(libhdfs3
)时,我不明白为什么找不到特定文件。如果有人遇到同样的问题,请帮忙,因为我几乎被困在这里。
答案 0 :(得分:1)
你能检查文件/root/incubator-hawq/depends/libhdfs3/build/install/usr/local/hawq/include/hdfs/hdfs.h存在吗? 如果没有,那么它应该是构建缺陷,请打开缺陷给hawq团队或发送电子邮件至:dev@hawq.incubator.apache.org。感谢。
答案 1 :(得分:1)
incubator-hawq/depends/libhdfs3/build/install
之后,make
中是否有文件夹?
问题似乎是libhdfs3
依赖关系未成功构建。有一些可能的原因:使用旧版本的gcc(< 4.7),配置错误为libhdfs3
。
要测试我的话,你可以试试这个:
cd incubator-hawq/depends/libhdfs3
mkdir build_debug && cd build_debug
cmake ..
make
如果你能成功地做到这一点,我认为你的问题还有其他原因。在这种情况下,您可以使用更多构建线粘贴信息吗?
另一个可能的原因是您使用不同的配置前缀。在这种情况下,您应该在另一个配置之前运行make distclean
。