I've been trying to get R+PostgreSQL+PL/R to work together on a OSX  
machine without the Framework and CoreFoundation options and have  
noticed some suspicious switches when compiling packages.

I've installed R (on OSX) with the following ./configure:

./configure \
  CC="gcc -arch i386" \
  CXX="g++ -arch i386" \
  OBJC="gcc -arch i386" \
  F77="gfortran -arch i386" \
  FC="gfortran -arch i386" \
  --enable-R-framework=no \
  --enable-R-shlib \
  --without-blas \
  --x-includes=/usr/X11/include \
  --x-libraries=/usr/X11/lib

Notice the

  --enable-R-framework=no \
  --enable-R-shlib \

No flames please.I'm sure I'm breaking lot's of R purist-isms. There's  
a bigger picture here than trying to get R and packages to build by  
themselves.

When I build packages, using sudo R, for example:

 > install.packages(c("rconifers"),
+  lib="/usr/local/lib/R/library",
+  repos="http://cran.r-project.org",
+  dependencies=TRUE )

the package seems to get built with the "-Wl,-framework - 
Wl,CoreFoundation" switches, even when R isn't built with the  
framework (and CoreFoundation) options. For example:

gcc -arch i386 -std=gnu99 -dynamiclib -Wl,-headerpad_max_install_names  
-undefined dynamic_lookup -single_module -multiply_defined suppress -L/ 
usr/local/lib -o rconifers.so coeffs.o file_io.o grow.o mortality.o  
plot.o rconifers.o sample.o smc_coeffs.o smc_model.o stats.o  
swo_coeffs.o swo_model.o thin.o -L/usr/local/lib/R/lib -lR -Wl,- 
framework -Wl,CoreFoundation

I would like to build packages without the "-Wl,-framework - 
Wl,CoreFoundation" options because I'm going to install it on other OS  
(FreeBSD, Linux, whatever)

Does this cause a problem? Will this cause a problem? I'm guessing the  
CoreFoundations are an artifact of the XCode compiler. What's with the  
-Wl,-framework stuff? Can I make it stop? Will I be okay?

Thanks,
Jeff.




Jeff Hamann, PhD
PO Box 1421
Corvallis, Oregon 97339-1421
541-754-2457
jeff.hamann[at]forestinformatics[dot]com
http://www.forestinformatics.com


	[[alternative HTML version deleted]]

