Skip to content

Abuse of a private glibc symbol in R 3.2.3

2 messages · Alba Pompeo

#
Hello, developers of R.

I have been unsuccessfully trying to build R on a musl libc system for
the last days.
./configure works, but make fails. The command that errors out is here
- http://pastebin.com/raw/UwFRsiqT

It was brought to my attention that this is a (very longstanding)
abuse of a private
glibc symbol in R.

In R 3.2.3, it seems that configure is trying to test for it on Linux.
It apparently fails to accurately test (as demonstrated by the link error),
perhaps because the test program does not actually *use* __libc_stack_end
so it gets optimized out. (See line 35500 or so in R-3.2.3/configure.)
Ideally, the test program would check that a pointer to __libc_stack_end
is non-null, but that's an autoconf bug.

A work around was to 'export r_cv_libc_stack_end=no' before configuring R.
However, there are a couple little issues with non-ASCII text and a
*lot* of math differences, many of which say "*no* convergence: NOTIFY
R-core!".

Until these are resolved, R can't be packaged for distributions that
use musl, such as Alpine Linux.

Thank you.
#
Here is my log from 'make check' using an Intel i5 64-bit processor -
http://pastebin.com/raw/N6SYAuFX
Here is Isaac's log from 'make check' using an Intel Atom 32-bit
processor - http://pastebin.com/raw/sey6DEk9

We are both on Alpine Linux, which uses the musl libc. http://www.musl-libc.org/

Thank you very much.
On Thu, Jan 28, 2016 at 9:54 AM, Alba Pompeo <albapompeo at gmail.com> wrote: