1

我在 Amazon EC2 上预置的 RedHat 服务器上安装 HAWQ。我已经在集群上安装了 HDP 2.3。我已经从Github克隆了 HAWQ 。

首先我跑./configure --prefix=/opt/hawq

在第二步中,我运行make. 当我makeincubator-hawq. 从根目录 ( ) 中的文件夹make移动到编译时会出现以下错误:srcincubator-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)编译成功,我不明白为什么找不到特定文件。如果有人遇到与我几乎被困在这里相同的问题,请提供帮助。

4

2 回答 2

2

您能否检查文件 /root/incubator-hawq/depends/libhdfs3/build/install/usr/local/hawq/include/hdfs/hdfs.h 是否存在?如果不是,则应该是构建缺陷,请向 hawq 团队公开缺陷或发送电子邮件至:dev@hawq.incubator.apache.org。谢谢。

于 2016-08-30T10:36:19.423 回答
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在另一个配置之前运行。

于 2016-08-31T00:51:39.930 回答