[Rd] R uses private function in libc (PR#9107)

ripley at stats.ox.ac.uk
Fri, 28 Jul 2006 08:24:13 -0000

On Fri, 28 Jul 2006, quanah at stanford.edu wrote:

> Full_Name: Quanah Gibson-Mount
> Version: 2.3.0, 2.3.1
> OS: Linux

That's not adequate information: see below.

> Submission from: (NULL) (171.66.155.86)
>
>
> libc used to export the symbol:
>
> __libc_stack_end;
>
> however, newer versions of libc no longer export it.  R has some serious

Please tell us what these `newer versions of libc'
are.
>g<libc does on e.g. 2.3.6 and 2.4, which is AFAICS current.

> problems around this, because the code has:
>
> # ifdef linux
> extern void * __libc_stack_end;
> # endif
>
>
> and
>
> #if defined(linux)
>     R_CStackStart = (uintptr_t) __libc_stack_end;
> #elif defined(HAVE_KERN_USRSTACK)
>
>
> in r-2.3.1/src/unix/system.c
>
> This code needs to be fixed.  It is causing all sorts of problems when
trying to
> run R across multiple systems with different libc versions.

What are the 'all sorts of problems'?  It seems they are affecting no
one
else, and R is very widely used on Linux systems.  So there is nothing
here we can reproduce.

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