[R] No R.binary in R-0.63?

Thomas Lumley thomas at biostat.washington.edu
Sat Nov 14 20:33:18 CET 1998


On Sat, 14 Nov 1998, Goran Brostrom wrote:

> Many thanks to Markus Lang and Brian Ripley for helpful answers. I have
> now 0.63 up and running, but my solution worries me a little:
> 
> On Sat, 14 Nov 1998, Goran Brostrom wrote:
> 
> > After some debugging, I found that $(LDCMD) is set to 'fort77' (by
> > configure?). This is obviously wrong, and I get an error for the
> > command
> 
> As pointed out by Brian, this is probably _not_ wrong. 
> 
> The only fortran compiler available in RH5.2 seems to be fort77, and it is
> apparently not a 'real' compiler, like g77. Does that matter?
> 
> > fort77 -export-dynamic -o ../../bin/R.binary  etc.
>  
> > saying that -export-dynamic is an illegal option. But  'make' continues.
> 
> I still think that  'make' should break here with a fatal error. This
> happens when I try to  make  R-0.62.4. 

I agree -- I had a problem with compiling under Solaris (due to stupidly
telling R to look for the readline library in /usr/local/include rather
than /usr/local/lib).  Make proceeds happily and by the time I came back
to my computer the output from make docs had pushed the error out of my
xterm buffer so there was no sign of the problem.
 
> I 'solved' the problem with 'illegal option' by simply removing
> '-export-dynamic' from the Makefile in src/main. After 'make clean;
> make; make install' it seems to work; I can run R. But, will I encounter
> problems in the future?

This shouldn't be a problem. The flag tells the linker to export function
names for dynamic linking, but gcc on linux (which is what is hidden under
fort77) seems to do this by default. 

I think you can do this at the configure level by specifying
SHLIBLDFLAGS=
in config.site, to tell configure that you don't want it to magically
determine the right linking flags.

> A question about make, btw: When I run make, and the target  R.binary  is
> missing, shouldn't  make  try to build it? It doesn't.

 yes and no. If you look at the R target in Makefile you will see that it
creates a file called stamp-R when R builds 'successfully'.  This, rather
than R.binary, governs whether the binary is rebuilt. The reason you have
a problem is that make didn't fail when it couldn't build R.binary *and*
you fixed the problem by changing only the Makefile, which isn't in the
dependency list for stamp-R. 


	-thomas


Thomas Lumley
Assistant Professor, Biostatistics
University of Washington, Seattle


-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list