[Rd] Cross Compiling for ARM

Junqian Gordon Xu xjqian at gmail.com
Fri Dec 7 06:41:06 CET 2007

I am trying to cross compile R-2.6.0 for ARM. I have my cross compiling 
tool chain set up already.

I've read the cross compiling guide for WIN
# http://cran.r-project.org/doc/contrib/cross-build.pdf
# http://cran.r-project.org/doc/contrib/Makefile-rcb

Following the same approach, I compiled the native R-2.6.0 version 
first. Then passed R=R-2.6.0 to ./configure. After that, I hacked 
makefiles to set R_EXE to the native R binary.

I was able to compile through until R packages in /src/library, where 
the following command was issued

$R_EXE --vanilla --slave -f /src/library/base/makebasedb.R

| Error in eval(expr, envir, enclos) :
| may already be using lazy loading on base
| Calls: local -> eval.parent -> eval -> eval -> eval -> eval
| Execution halted

Seems the error was caused by lazy loading mechanism of the native R 
binary on the host. AFAIK --vanilla should suppress loading any package 
upon startup, however, seems there is no way to get around lazy loading.

My questions are why cross compiling for WIN don't hit this error (maybe 
some special setting I'm not aware of was set in the makefile for WIN). 
Second, how could I get around this lazy loading issue, if my approach 
is not completely off?


More information about the R-devel mailing list