0

我正在尝试在 Fedora 28 上构建 Hadoop 3.0.3。当构建开始构建 Apache Hadoop Pipes 时,构建停止并出现错误:

[WARNING] /home/hadoop/tool/hadoop-3.0.3-src/hadoop-tools/hadoop-pipes/src/main/native/utils/impl/SerialUtils.cc:22:10: fatal error: rpc/types.h: No such file or directory

我知道 Fedora 28 删除了 Sun RPC 并被 libtirpc 取代。

我尝试使用以下命令指示 maven gcc 使用 libtirrpc 进行构建:

1) 指定 CFLAGS

$ export CFLAGS=-I/usr/include/tirpc
$ mvn package -Pdist,native -DskipTests -Dtar -Drequire.isal

2) 使用 container-executor.additional_cflags

$ mvn package -Pdist,native -DskipTests -Dtar -Drequire.isal -Dcontainer-executor.additional_cflags="-I/usr/include/tirpc"

不幸的是,我总是遇到同样的错误。

我究竟做错了什么?对于如何解决此问题的任何建议,我将不胜感激。

亲切的问候

4

1 回答 1

0

我遇到了同样的问题,并通过将 tirpc 添加到所需的库以及 CMakefiles 的包含路径来解决它。

抱歉,我不知道为什么你的方法不起作用,但可以在这里找到一个可行的“补丁”: https ://issues.apache.org/jira/browse/HADOOP-15685

ps:对此的正确修复应该是检查 rpc 路径并有条件地添加 tirpc 路径,例如https://github.com/gnudatalanguage/gdl/pull/338/commits/86837a0038be8c72d5b7b9691f1deff5c6691744 和更 hadoop 风格的修复方法可以参考其他 hadoop 模块 CMakefiles

于 2019-02-20T09:45:47.187 回答