用rpc库在fedora28上构建hadoop3.0.3

gkn4icbw  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(605)

我正在尝试在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"

不幸的是,我总是犯同样的错误。
我做错什么了?我将非常感谢任何关于如何解决这个问题的建议。
谨致问候

koaltpgm

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模块文件

相关问题