1

I'm trying to install MB-system on my Arch Linux machine. I installed all necessary dependencies and have the package libtirpc installed.
When running the configure script, it ends with:

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

despite all files being in place:

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

I tried the following things with no effect (same error message, all usability/presence messages return "no")

  1. Creating a symlinks to tirpc/rpc in /usr/include in case it's looking in the wrong folder
  2. Editing the configure file to make sure the rpc dir is included, as described in this similar issue from another program using rpc
  3. Changing the #include commands in MB-system's sourcefiles, but obviously that doesn't work since the error happens in the configure step

I don't know how to approach this issue further and would appreciate every hint.

2 Answers2

3

checking rpc/rpc.h presence... no

All major "Linux OS" have the old Oracle etc. rpc headers /usr/include/rpc/{17 headers} provided by glibc / glibc-devel / libc6-dev. Arch bug report https://bugs.archlinux.org/task/62561 ... Might be missing in Arch, Manjaro etc. Arch clones because Arch is announced as a lightweight OS ?

A quick / safe fix : Get the headers from any glibc (-devel) package e.g. 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-System build prerequisites # pacman -S openmotif graphicsmagick blas gdal netcdf proj cmake

( gmt-6.0.0 was built manually with cmake -DCMAKE_INSTALL_PREFIX=/usr ../ )

git clone https://github.com/dwcaress/MB-System.git
cd MB-System/ && ./configure && make 
# make install
          // No errors
0

This issue may be of some help. It adds -ltirpc to LDFLAGS and -I/usr/include/tirpc to CFLAGS.