Bug 13625

Summary: xdr_* definitions missing from libc.a
Product: glibc Reporter: johncass
Component: libcAssignee: Ulrich Drepper <drepper.fsp>
Status: RESOLVED INVALID    
Severity: normal CC: johncass, ppluzhnikov
Priority: P2 Flags: fweimer: security-
Version: 2.14   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:

Description johncass 2012-01-26 15:18:33 UTC
I am trying to compile Samba 3.6.1 using gcc 4.6.2 / glibc 2.14.1

From make:

    Linking bin/smbd
    lib/sysquotas_nfs.o: In function `my_xdr_getquota_args':
    sysquotas_nfs.c:(.text+0x1a): undefined reference to `xdr_string'
    sysquotas_nfs.c:(.text+0x2f): undefined reference to `xdr_int'

I found two Google references which suggested that libc.a does not contain the xdr_* references.  I checked this out with version 2.11.1 of glibc; both static and shared libraries in 2.11.1 contain xdr_int but only the shared library in 2.14.1 contains this reference.

I haven't been able to find a workaround but I am puzzled that libc_pic.a does contain these references while libc.a does not as the dependencies in the makefiles look the same.
Comment 1 Paul Pluzhnikov 2012-01-26 18:41:46 UTC
From NEWS:

Version 2.14
...
* The RPC implementation in libc is obsoleted.  Old programs keep working
  but new programs cannot be linked with the routines in libc anymore.
  Programs in need of RPC functionality must be linked against TI-RPC.
  The TI-RPC implementation is IPv6 enabled and there are other benefits.
Comment 2 johncass 2012-01-26 19:10:24 UTC
Thanks very much for your help.