尽管已安装,但仍未找到 RPC 标头

尽管已安装,但仍未找到 RPC 标头

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

我尝试了以下操作,但没有效果(相同的错误消息,所有可用性/存在消息都返回“否”)

  1. 创建一个符号链接,tirpc/rpc以防/usr/include它查找错误的文件夹
  2. 编辑configure文件以确保包含 rpc 目录,如此处所述类似问题从另一个使用 rpc 的程序
  3. 更改#includeMB 系统源文件中的命令,但显然这不起作用,因为错误发生在配置步骤中

我不知道如何进一步解决这个问题,并希望得到每一个提示。

答案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

问题可能会有所帮助。它增加-ltirpcLDFLAGS和。-I/usr/include/tirpcCFLAGS

相关内容