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
  • 1. »» checking tirpc/rpc/rpc.h presence... no «« : Seems you are missing libtirpc ... 2. rpc/rpc.h is provided by glibc. Commented Mar 17, 2020 at 23:12
  • libtirpc is installed, see my second sentence. Commented Mar 20, 2020 at 9:29

2 Answers 2

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
2
  • 1
    This looks very promising, I'll try it tomorrow and provide feedback, thanks! Commented Mar 22, 2020 at 12:19
  • 1
    Just got the same problem on ubuntu 20.04 - and this fixed my issue - I had to use the exact same version of the Slackware file you pointed 'glibc-2.23-x86_64-1.txz' ( newer version did not include all the headers) Commented Apr 5, 2021 at 18:33
0

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

2
  • Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Commented Nov 2, 2023 at 13:26
  • Link only answers get deleted. Please post the essentials of the answer here, so that it is obvious it is correct. Commented Nov 2, 2023 at 13:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .