我正在尝试在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取代。
我尝试使用以下命令指示使用libtirrpc构建maven gcc:
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"
不幸的是我总是得到同样的错误。
我究竟做错了什么?我非常感谢有关如何解决这个问题的任何建议。
亲切的问候
约翰
我遇到了同样的问题并通过将tirpc添加到所需的库以及CMakefiles中的包含路径来解决它。
对不起,我不知道为什么你的方法不起作用,但可以在这里找到一个可行的“补丁”:https://issues.apache.org/jira/browse/HADOOP-15685
p.s。:正确修复这个应该是检查rpc路径并有条件地添加tirpc路径,像https://github.com/gnudatalanguage/gdl/pull/338/commits/86837a0038be8c72d5b7b9691f1deff5c6691744和更多hadoop样式的修复方法这可以参考其他hadoop模块CMakefiles