这是因为,在最新的Linux中比如最新的Ubuntu中原来rpc库从glic库拿出来了,并使用了新库libtirpc。
所以,解决方案如下:
1. 安装libtirpc-devel
命令: sudo apt -y install libtirpc-dev
2.修改 EmuELEC/packages/network/nfs-utils/package.mk中的pre_configure_host函数内的内容
pre_configure_host() {
cd $PKG_BUILD
rm -rf .$HOST_NAME
PKG_CONFIGURE_OPTS_HOST=" \
--with-statedir=/run/nfs \
--with-rpcgen=internal \
--disable-nfsv4 \
--disable-nfsv41 \
--disable-gss \
--disable-uuid \
--disable-ipv6 \
--disable-caps \
--enable-tirpc \ #<-这里改成enable-tirpc
--without-systemd \
--without-tcp-wrappers"
#这里添加tiprc的include路径,我的电脑是/usr/include/tirpc
#fix not found rpc.h problem
CFLAGS+=" -I/usr/include/tirpc/"
}
3.重新编译即可
补充,如果遇到如下编译错误
error: format not a string literal, format string not checked [-Werror=format-nonlit
可在对应头文件里添加这么一行
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
————————————————
版权声明:本文为CSDN博主「小鸡码世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wzh200x/article/details/107200751