我正在尝试在Fedora28上构建Hadoop3.0.3。当构建开始构建apache hadoop管道时,构建将停止,并出现以下错误:
[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\u cflags
$ mvn package -Pdist,native -DskipTests -Dtar -Drequire.isal -Dcontainer-executor.additional_cflags="-I/usr/include/tirpc"
不幸的是,我总是犯同样的错误。
我做错什么了?我将非常感谢任何关于如何解决这个问题的建议。
谨致问候
琼
1条答案
按热度按时间koaltpgm1#
我也遇到了同样的问题,通过将tirpc添加到必需的库以及cmakefiles的include路径来解决了这个问题。
抱歉,我不知道为什么你的方法不起作用,但是可以在这里找到一个可行的“补丁”:https://issues.apache.org/jira/browse/hadoop-15685
p、 一个正确的解决方法应该是检查rpc路径并有条件地添加tirpc路径,比如https://github.com/gnudatalanguage/gdl/pull/338/commits/86837a0038be8c72d5b7b9691f1deff5c6691744 一种更具hadoop风格的修复方法可以参考其他hadoop模块文件