r-universe-org / help

Support and bug tracker for R-universe
https://docs.r-universe.dev/
8 stars 2 forks source link

Mac Cross Compile R RHOME does not return R_CROSS_HOME #387

Open theAeon opened 3 months ago

theAeon commented 3 months ago

Hi again,

I'm currently having issues getting RcppPlanc to cross-compile. It appears to be linking to the x86-64 R library, which is (understandably) failing. Because RLIB isn't available through R CMD config, my cmake script attempts to find the library by referencing R RHOME, which, to your credit, you are overriding.

The strange part is that it seems to be using the R RHOME from the previous run's cache. Would it be possible to call the package cleanup script in between builds?

theAeon commented 3 months ago

Actually-now that I look at it, I don't think its the cache. I think its just getting RHOME from somewhere other than the makeconf.

theAeon commented 1 month ago

Correction: RHOME is not obtained by the makefile, it is obtained by internally calling R.home.

On a Unix-alike, the constructed paths are based on the current values of the environment variables R_HOME and where set R_SHARE_DIR, R_DOC_DIR and R_INCLUDE_DIR (these are set on startup and should not be altered).

If my understanding of this is correct, you should be able to influence the contents of R RHOME by replacing the environment variable R_HOME with the environment variable R_HOME_CROSS.