[R] can't install R with *local* gcc

peter dalgaard pdalgd at gmail.com
Sun Dec 26 20:47:08 CET 2010

On Dec 26, 2010, at 17:50 , Oliver Kullmann wrote:

> Hello,
> we re-distribute R with our open-source platform http://www.ok-sat-library.org/
> where we use R mainly for evaluation of computational experiments.
> Due to the various platforms, we build everything from source, and that works fine.
> Until now, that is: there are circumstances (for example in computer-science computer labs)
> where no Fortran-compiler is provided, and the users (students) can't change that.
> Thus we now try to build gfortran as part of the GCC version 4.2.4 suite, and building
> R using that local gcc.
> We already use the local C and C++ compiler of the suite extensively, and that
> all works. But we don't have any experience with using gfortran.
> The gcc-build works fine, everything seems alright --- only R (version 2.11.0) won't build with it:
> We use the configuration
> F77=/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/bin/gfortran 
> FC=${F77} 
> CC=/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/bin/gcc 
> CXX=/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/bin/g++ 
> LDFLAGS="-L /home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib" 
> ./configure --prefix=/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/R/2.11.0
> (the same problems with "lib64" instead of "lib", by the way)
> which yields
> checking for Fortran 77 libraries of /home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/bin/gfortran...  -L/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib -L/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4 -L/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/gcc/x86_64-unknown-linux-gnu/4.2.4/../../.. -lgfortranbegin -lgfortran -lm /home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/lib/libgfortran.a
> which looks alright to me (but I don't know Fortran), but then we get
> checking for dummy main to link with Fortran 77 libraries... none
> checking for Fortran 77 name-mangling scheme... lower case, underscore, no extra underscore
> checking whether /home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/bin/gfortran appends underscores to external names... yes
> checking whether /home/csoliver/SAT-Algorithmen/OKplatform/ExternalSources/Installations/Gcc/4.2.4/bin/gfortran appends extra underscores to external names... no
> checking whether mixed C/Fortran code can be run... configure: WARNING: cannot run mixed C/Fortran code
> configure: error: Maybe check LDFLAGS for paths to Fortran libraries?
> make: *** [R_base] Error 1
> The R installation-documentation doesn't say much on using local compilers (more or less nothing), and everything we could
> get from it are the above settings of environment variables.
> Internet search reveals old stuff on "libg2c" which appears not to exist anymore, some recommendations
> not to build from sources (which is not an option for us), an open Sage ticket (apparently without any
> further work on it), and a request to the R-list with apparently no reply.
> Since we are working in a well-defined setting (gcc is fully under our control), and apparently
> all the libraries needed are build by gcc (though this is nowhere said or (dream) specified),
> it should be possible to solve that problem.
> I very hope to get some hints (we can't get R running (for our system!) otherwise).
> The error is exactly the same on various systems (all 64-bit machines, Intel and AMD).
> If we use the system-gcc (4.5.0 or 4.1.2) then the installation of R works without problems;
> here (for one of the machines) some data

I suppose r-devel would be a better mailing list for this sort of thing, but since we're here:

Hint #1: Expect the process to be somewhat painful...
Hint #2: Study the configure script and config.log to the level where you can reproduce the  mixed C/Fortran code that it is trying to build and run and with which commands it is trying to build it
Hint #3: Figure out what it really should have done to build such code

An alternative hint is first to try setting up a very simple Fortran function to, say, double a number, and a C main program that calls it. Then try figuring out the compiler/linker options to make it work. (That is of course what configure was trying to do in the first place, but doing it by hand might be less prone to getting multiple toolchains mixed up.)

>> version
> platform       x86_64-unknown-linux-gnu     
> arch           x86_64                       
> os             linux-gnu                    
> system         x86_64, linux-gnu            
> status                                      
> major          2                            
> minor          11.0                         
> year           2010                         
> month          04                           
> day            22                           
> svn rev        51801                        
> language       R                            
> version.string R version 2.11.0 (2010-04-22)
> Thanks for you help in any case!
> Oliver
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

Peter Dalgaard
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com

More information about the R-help mailing list