Rainer Hurling
2017-Feb-09 11:44 UTC
[Rd] changes in src/unix/system.c break builds on FreeBSD
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? Please let me know, if I should provide more information or can test something. Many thanks in advance, Rainer Hurling
Prof Brian Ripley
2017-Feb-09 12:14 UTC
[Rd] changes in src/unix/system.c break builds on FreeBSD
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'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 > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- Brian D. Ripley, ripley at stats.ox.ac.uk Emeritus Professor of Applied Statistics, University of Oxford
Mikko Korpela
2017-Feb-09 13:17 UTC
[Rd] changes in src/unix/system.c break builds on FreeBSD
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
Rainer Hurling
2017-Feb-09 13:58 UTC
[Rd] changes in src/unix/system.c break builds on FreeBSD
Am 09.02.2017 um 13:14 schrieb Prof Brian Ripley:> 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.This is a valuable hint for me, thanks. In the meantime Mikko Korpela noted, that there already exists a FreeBSD bugzilla report, which tries to implement the two missing definitions. But there seems to be a problem with the 64 bit signed format of RLIM_INFINITY, which was discussed, but not solved. I will try to restart the discussion of that report and to push it towards a solution.> > I'll add a workaround in R-devel in r72147: let us know if that does not > suffice.Many thanks for the very quick help with this workaround. It works for me at a recent FreeBSD 12.0-CURRENT amd64 box. First small tests do not indicate, that there is a regression with it.> >> >> Please let me know, if I should provide more information or can test >> something. >> >> Many thanks in advance, >> Rainer Hurling