From mikko.korpela at helsinki.fi  Thu Feb  9 14:17:50 2017
From: mikko.korpela at helsinki.fi (Mikko Korpela)
Date: Thu, 9 Feb 2017 15:17:50 +0200
Subject: [Rd] changes in src/unix/system.c break builds on FreeBSD
In-Reply-To: <d5f7f3cb-2fa6-f1fe-759a-321e067fb6a2@stats.ox.ac.uk>
References: <8b4743f2-d289-246a-9d82-68b97d8d065a@gwdg.de>
	<d5f7f3cb-2fa6-f1fe-759a-321e067fb6a2@stats.ox.ac.uk>
Message-ID: <53b216fb-f93a-f552-888e-ffd460c6e7d4@helsinki.fi>

On 09/02/17 14:14, Prof Brian Ripley wrote:
> On 09/02/2017 11:44, Rainer Hurling wrote:
>> Dear R devs,
>>
>> For some days now (~ February, 4th), I am not able to build the recent
>> tarballs of R-devel on a FreeBSD test box anymore. The breakage seems to
>> be related to the newest overhaul of src/unix/system.c:
>>
>>
>> [..snip..]
>> gcc49 -std=gnu99 -I. -I../../src/include -I../../src/include
>> -I/usr/local/include -DLIBICONV_PLUG -I/usr/local/include -isystem
>> /usr/local/include -DHAVE_CONFIG_H  -fopenmp -fpic  -O2 -pipe
>> -DLIBICONV_PLUG -fstack-protector -Wl,-rpath=/usr/local/lib/gcc49
>> -isystem /usr/local/include -fno-strict-aliasing -c system.c -o system.o
>> system.c: In function 'Rf_initialize_R':
>> system.c:213:13: error: 'RLIM_SAVED_CUR' undeclared (first use in this
>> function)
>>   if (lim == RLIM_SAVED_CUR || lim == RLIM_SAVED_MAX)
>>              ^
>> system.c:213:13: note: each undeclared identifier is reported only once
>> for each function it appears in
>> system.c:213:38: error: 'RLIM_SAVED_MAX' undeclared (first use in this
>> function)
>>   if (lim == RLIM_SAVED_CUR || lim == RLIM_SAVED_MAX)
>>                                       ^
>> system.c: In function 'R_GetFDLimit':
>> system.c:509:13: error: 'RLIM_SAVED_CUR' undeclared (first use in this
>> function)
>>   if (lim == RLIM_SAVED_CUR || lim == RLIM_SAVED_MAX)
>>              ^
>> system.c:509:38: error: 'RLIM_SAVED_MAX' undeclared (first use in this
>> function)
>>   if (lim == RLIM_SAVED_CUR || lim == RLIM_SAVED_MAX)
>>                                       ^
>> *** Error code 1
>>
>> Stop.
>> make[5]: stopped in /usr/ports/math/R-devel/work/R-devel/src/unix
>>
>>
>> Perhaps someone can give me a hint, want to do next?
>
> Let us know (which you have).  This appears to be a lack of POSIX
> compliance on FreeBSD (even POSIX 2004, the current link being
> http://pubs.opengroup.org/onlinepubs/9699919799/functions/getrlimit.html),
> so was unexpected and you ought to file a FreeBSD bug report.

I think this FreeBSD bug report already covers the issue of partial 
non-compliance with the POSIX standard in question:
<https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209729>.

>
> I'll add a workaround in R-devel in r72147: let us know if that does not
> suffice.
>
>>
>> Please let me know, if I should provide more information or can test
>> something.
>>
>> Many thanks in advance,
>> Rainer Hurling

-- 
Mikko Korpela
Department of Geosciences and Geography
University of Helsinki



[Rd] changes in src/unix/system.c break builds on FreeBSD
Mikko Korpela