From david.kirkby at onetel.net  Sat Mar  5 00:18:15 2011
From: david.kirkby at onetel.net (Dr. David Kirkby)
Date: Fri, 04 Mar 2011 23:18:15 +0000
Subject: [Rd] Does R use "computed gotos" - a gcc extension of C?
Message-ID: <4D717337.8020806@onetel.net>

The R manual says R will not build with gcc on 64-bit Solaris x86 with gcc

http://cran.r-project.org/doc/manuals/R-admin.html#Solaris

"Tests with gcc32 on ?x86? and ?amd64? have been less successful: ?x86? builds 
have failed on tests using complex arithmetic33, whereas on ?amd64? the builds 
have failed to complete in several different ways, most recently with relocation 
errors for libRblas.so. "

I know what the "relocation errors" problem is. That library (and in fact two 
other R libraries) all have non-PIC code in them, despite the fact the source is 
compiled with the -fPIC option.

http://blogs.sun.com/rie/entry/my_relocations_don_t_fit

shows how to prove this. If one runs this command on Solaris:

$ elfdump -d libRblas.so | fgrep TEXTREL

there is some output showing that theres non-PIC code present in the R library.

R is compiled with -fPIC on Solaris, but certain things can cause non-PIC code 
to be generated even with that option. One is by the use of "computed gotos" 
which is a gcc extension. I'm wondering if R uses any of these.

I'd love to track down this problem, so R can build with gcc. R is used in the 
Sage maths project

http://www.sagemath.org/

and R is the only component of Sage which will not build with gcc on 64-bit 
Solaris x86. Many components will not build with Sun Studio, but this R issue 
means we need to have two compilers, not just one.

-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

Dave



[Rd] Does R use "computed gotos" - a gcc extension of C?
Dr. David Kirkby