Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#3463 closed defect (fixed)

Compilation failure with >=glibc-2.14 due to missing rpc

Reported by: marisn Owned by: grass-dev@…
Priority: blocker Milestone: 7.4.0
Component: Compiling Version: svn-trunk
Keywords: xrpc Cc: devurandom
CPU: Unspecified Platform: Linux

Description

Recent glibc versions do not provide rpc, but GRASS expects it to be present. There is no failure during configuration phase if rpc is not present.

This issue will manifest itself on any GNU/Linux distro as soon as glibc gets upgraded to more recent version. Thus it needs to be fixed before upcoming release (unless we want to make fast 7.4.1 with a fix inside). Note – some distributions provide workarounds (i.e. on Gentoo rpc got removed only in 2.26).

Affected files:

grep -nHIirF --exclude-dir=.svn -- '<rpc/'
lib/raster/open.c:15:#include <rpc/types.h>
lib/raster/open.c:16:#include <rpc/xdr.h>
lib/raster/get_row.c:18:#include <rpc/types.h>          /* need this for sgi */
lib/raster/range.c:15:#include <rpc/types.h>            /* need this for sgi */

Things to do:

  • configuration must check for rpc presence and fail if rpc is missing;
  • dependency on rpc should be removed or an alternative should be examined (is current state of libtirpc good enough?)

Change History (5)

comment:1 by neteler, 6 years ago

Which glibc do you have?

Strange, because of r52015 ("Eliminate RPC/XDR dependency from raster library") and r71265 ("rasterlib: Eliminate RPC/XDR dependency from raster library (r52015 cont'd)").

I have locally eliminated the above include statements and it compiles fine (Fedora 26). Does this fail for you?

in reply to:  1 ; comment:2 by neteler, 6 years ago

Keywords: xrpc added

Replying to neteler:

Which glibc do you have?

Right, it was in the ticket title.

I have glibc-2.25-12.fc26.x86_64 and no problems.

Strange, because of r52015 ("Eliminate RPC/XDR dependency from raster library") and r71265 ("rasterlib: Eliminate RPC/XDR dependency from raster library (r52015 cont'd)").

I have locally eliminated the above include statements and it compiles fine (Fedora 26). Does this fail for you?

Now in trunk in r71902 (eliminated the superfluous headers). Please test.

If ok, then we backport it.

in reply to:  2 comment:3 by marisn, 6 years ago

Replying to neteler:

Now in trunk in r71902 (eliminated the superfluous headers). Please test.

If ok, then we backport it.

Yes, please, backport it. I checked the code too – these really are only leftovers and serve no purpose any more.

comment:4 by neteler, 6 years ago

Resolution: fixed
Status: newclosed

Backported r71943 (relbr74) and r71944 (relbr72). Closing.

comment:5 by devurandom, 6 years ago

Cc: devurandom added
Note: See TracTickets for help on using tickets.