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.
Abuse of a private glibc symbol in R 3.2.3
2 messages · Alba Pompeo
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:
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.