[Rd] [R] Problem compiling in extra/xdr

Prof Brian Ripley
Tue, 19 Jul 2011 05:51:11 -0000

On Mon, 18 Jul 2011, Allin Cottrell wrote:

> On Mon, 18 Jul 2011, Prof Brian Ripley wrote:
>
>> 1) R-help is the wrong list: see the posting guide.  I've moved
this to
>> R-devel.
>>
>> 2) A glibc system should not be compiling in that directory.  glibc
2.14 is
>> rather recent and NEWS does say
>>
>> * 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.
>>
>>  Visible changes of this change include (obviously) the inability to
link
>>  programs using RPC functions without referencing the TI-RPC library
and
>> the
>>  removal of the RPC headers from the glibc headers.
>>  Implemented by Ulrich Drepper.
>>
>> So the answer seems to be that your libc is too new.
>
> OK, thanks. I should have remembered the info about RPC in the glibc-2.14
> news. Then there will presumably be a problem building current R on current
> Fedora?

What is 'current Fedora'?  glibc 2.14 postdates the current release,
Fedora 15, which uses 2.13.   I do not know what Fedora 16 will use in
several months ....

The main problem will be that the xdr included in R is only for
platforms with 32-bit longs -- but that may be true for your i686
Linux.  It needs _X86_ defined to compile for i686: I would have
expected that to be true on your platform, but am testing a cleaned-up
version.  If that works it will appear in R-patched within 24 hours.

>
>> On Mon, 18 Jul 2011, Allin Cottrell wrote:
>>
>>> I'm building R 2.13.1 on i686-pc-linux-gnu, using gcc 4.6.1
>>> and with glibc 2.14.
>>>
>>> I get this error:
>>>
>>> In file included from xdr.c:61:0:
>>> ./rpc/types.h:63:14: error: conflicting types for 'malloc'
>>> make[4]: *** [xdr.o] Error 1
>>>
>>> I can make the build proceed some by commenting out the declaration
>>> "extern char *malloc();" in xdr/rpc/types.h,
>>> but then I get a slew of other errors:
>>>
>>> xdr_float.c: In function 'xdr_float':
>>> xdr_float.c:119:21: error: storage size of 'is' isn't
known
>>> xdr_float.c:120:20: error: storage size of 'vs' isn't
known
>>>
>>> and so on.
>>>
>>> config.log is rather big to post here; I'm putting it at
>>> http://www.wfu.edu/~cottrell/tmp/R.config.log .
>>>
>>> --
>>> Allin Cottrell
>>> Department of Economics
>>> Wake Forest University, NC
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>
>>
>
> --
> Allin Cottrell
> Department of Economics
> Wake Forest University
>

--
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595