我正在尝试安装MB 系统在我的 Arch Linux 机器上。我安装了所有必要的依赖项并libtirpc
安装该包。
运行configure
脚本时,它以以下内容结束:
checking rpc/rpc.h usability... no
checking rpc/rpc.h presence... no
checking for rpc/rpc.h... no
checking tirpc/rpc/rpc.h usability... no
checking tirpc/rpc/rpc.h presence... no
checking for tirpc/rpc/rpc.h... no
checking rpc/types.h usability... no
checking rpc/types.h presence... no
checking for rpc/types.h... no
checking tirpc/rpc/types.h usability... no
checking tirpc/rpc/types.h presence... no
checking for tirpc/rpc/types.h... no
configure: error: Required header <rpc/types.h> not found, check include path and installed development packages
尽管所有文件都已到位:
ls /usr/include/tirpc/rpc
auth_des.h clnt.h des.h pmap_clnt.h rpc rpc_com.h rpcsec_gss.h svc.h xdr.h
auth_gss.h clnt_soc.h key_prot.h pmap_prot.h rpcb_clnt.h rpcent.h svc_auth_gss.h svc_mt.h
auth.h clnt_stat.h netdb.h pmap_rmt.h rpcb_prot.h rpc.h svc_auth.h svc_soc.h
auth_unix.h des_crypt.h nettype.h raw.h rpcb_prot.x rpc_msg.h svc_dg.h types.h
我尝试了以下操作,但没有效果(相同的错误消息,所有可用性/存在消息都返回“否”)
- 创建一个符号链接,
tirpc/rpc
以防/usr/include
它查找错误的文件夹 - 编辑
configure
文件以确保包含 rpc 目录,如此处所述类似问题从另一个使用 rpc 的程序 - 更改
#include
MB 系统源文件中的命令,但显然这不起作用,因为错误发生在配置步骤中
我不知道如何进一步解决这个问题,并希望得到每一个提示。
答案1
检查 rpc/rpc.h 存在...否
所有主流“Linux OS”都具有由 glibc / glibc-devel / libc6-dev 提供的旧 Oracle 等 rpc 标头/usr/include/rpc/{17 headers}
。Arch 错误报告https://bugs.archlinux.org/task/62561... 可能在 Arch、Manjaro 等 Arch 克隆中缺失,因为 Arch 被宣布为轻量级操作系统?
快速/安全的解决方法:从任何 glibc(-devel)包中获取标题,例如ftp://ftp.slackware.org.uk/slackware/slackware64-14.2/slackware64/l/glibc-2.23-x86_64-1.txz
tar xvf glibc-2.23-x86_64-1.txz
cd /usr/include/rpc/
# cp [path-to-rpc/-with-17-headers]/rpc/* ./
MB 系统构建前提条件# pacman -S openmotif graphicsmagick blas gdal netcdf proj cmake
( gmt-6.0.0 是使用 手动构建的cmake -DCMAKE_INSTALL_PREFIX=/usr ../
)
git clone https://github.com/dwcaress/MB-System.git
cd MB-System/ && ./configure && make
# make install
// No errors
答案2
这问题可能会有所帮助。它增加-ltirpc
了LDFLAGS
和。-I/usr/include/tirpc
CFLAGS