From ripley at stats.ox.ac.uk  Wed Jul 20 09:21:07 2011
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Wed, 20 Jul 2011 08:21:07 +0100 (BST)
Subject: [Rd] [R] Problem compiling in extra/xdr
In-Reply-To: <alpine.LFD.2.02.1107190631570.28269@gannet.stats.ox.ac.uk>
References: <alpine.LNX.2.00.1107181539100.13110@waverley.Belkin>
	<alpine.LFD.2.02.1107182251020.4163@gannet.stats.ox.ac.uk>
	<alpine.DEB.2.00.1107181954150.5589@myrtle>
	<alpine.LFD.2.02.1107190631570.28269@gannet.stats.ox.ac.uk>
Message-ID: <alpine.LFD.2.02.1107200812040.1173@gannet.stats.ox.ac.uk>

1) The current R-patched should compile src/extra/xdr on 32-bit Linux 
systems.

2) Longer-term or on a 64-bit platform the solution is to make use of 
libtirpc: you would need both this installed (common now) and its 
headers (unlikely).

Then if you arrange for /usr/include/tirpc to be in the C include path 
(not easy to do portably, but using C_INCLUDE_PATH will work on 
Linux), the tirpc versions should be found.

On Tue, 19 Jul 2011, Prof Brian Ripley wrote:

> 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
>

-- 
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



[Rd] [R] Problem compiling in extra/xdr
Prof Brian Ripley