Note that the recommended CRAN gfortran *does* go into /usr/local. This one: http://cran.r-project.org/bin/macosx/tools/gfortran-4.2.3.pkg as described at http://cran.r-project.org/doc/manuals/r-release/R-admin.html#OS-X .

That's for R 3.0.0: other versions were recommended for earlier versions as add-ons to gcc versions which are no longer recommended.

If you are not using the recommended compiler with a CRAN binary build you should set some variables in ~/.R/Makevars: see http://cran.r-project.org/doc/manuals/r-release/R-admin.html#OS-X-packages .

On 08/05/2013 23:28, Davor Cubranic wrote:
I don't see this on my  machine:

install.packages('fields', type='source')
* installing *source* package 'fields' ...
** package 'fields' successfully unpacked and MD5 sums checked
** libs
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c css.f -o css.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c csstr.f -o csstr.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c cvrf.f -o cvrf.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c dchold.f -o dchold.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c dcopy.f -o dcopy.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c ddfind.f -o ddfind.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c ddot.f -o ddot.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c derrb.f -o derrb.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c dlv.f -o dlv.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c dmaket.f -o dmaket.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c drdfun.f -o drdfun.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c dsetup.f -o dsetup.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c evlpoly.f -o evlpoly.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c evlpoly2.f -o evlpoly2.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c expfn.f -o expfn.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c ifind.f -o ifind.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c igpoly.f -o igpoly.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c inpoly.f -o inpoly.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c mltdrb.f -o mltdrb.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c mltdtd.f -o mltdtd.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c multeb.f -o multeb.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c multrb.f -o multrb.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c radbas.f -o radbas.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c radfn2.f -o radfn2.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c radfun.f -o radfun.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c rcss.f -o rcss.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c rcssr.f -o rcssr.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c rcsswt.f -o rcsswt.o
gfortran-4.2 -arch x86_64   -fPIC  -g -O2  -c sortm.f -o sortm.o
llvm-gcc-4.2 -arch x86_64 -std=gnu99 -dynamiclib 
-Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module 
-multiply_defined suppress -L/usr/local/lib -L/usr/local/lib -o fields.so css.o 
csstr.o cvrf.o dchold.o dcopy.o ddfind.o ddot.o derrb.o dlv.o dmaket.o drdfun.o 
dsetup.o evlpoly.o evlpoly2.o expfn.o ifind.o igpoly.o inpoly.o mltdrb.o 
mltdtd.o multeb.o multrb.o radbas.o radfn2.o radfun.o rcss.o rcssr.o rcsswt.o 
sortm.o -L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3/x86_64 
-L/usr/local/lib/x86_64 -L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3 
-lgfortran -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework 
-Wl,CoreFoundation
ld: warning: directory not found for option 
'-L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3/x86_64'
ld: warning: directory not found for option '-L/usr/local/lib/x86_64'
ld: warning: directory not found for option 
'-L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3'
installing to /private/tmp/library/fields/libs
** R
** data
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (fields)

I'm also running R-3.0.0 and OS X 10.7.5, so I think the issue is your 
environment. Why do you have gfortran in /usr/local anyways? CRAN's fortran 
goes into /usr/bin.

Note that you set FC and F77 to "gfortran-4.2" (no path), so that will look for 
it in your PATH, and you probably have /usr/local/gfortran/bin before /usr/bin. Try 
either removing /usr/local/gfortran directory or make sure the one in /usr/bin is found 
first.

Davor

On 2013-05-07, at 4:30 PM, Andy Jacobson (NOAA Affiliate) wrote:

Howdy,

I am attempting to install the fields_6.7.6 package under R-3.0.0 on OS X 10.7.5.  I 
think the install process is calling the wrong gfortran compiler.  The compiler being 
called is /usr/local/gfortran/bin/gfortran, which is "GNU Fortran (GCC) 4.4.0 
20090321 (experimental) [trunk revision 144983]".  I've installed the 
gfortran-4.2.3.pkg package from 
http://cran.r-project.org/bin/macosx/tools/gfortran-4.2.3.pkg.

The /Library/Frameworks/R.framework/Versions/3.0/Resources/etc/Makeconf file 
specifies:

FC = gfortran-4.2 -arch x86_64
and
F77 = gfortran-4.2 -arch x86_64

The text output from install.packages() shows lots of -c compilation using this 
wrong gfortran, then attempts to link with llvm-gcc-4.2.  The linking step 
complains about the .o files being architecture i386, which is probably wrong 
output from the gfortran-4.4.0 compiler:

/usr/local/gfortran/bin/gfortran   -fPIC  -g -O2  -c sortm.f -o sortm.o
llvm-gcc-4.2 -arch x86_64 -std=gnu99 -dynamiclib 
-Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module 
-multiply_defined suppress -L/usr/local/gfortran/lib/ -o fields.so css.o 
csstr.o cvrf.o dchold.o dcopy.o ddfind.o ddot.o derrb.o dlv.o dmaket.o drdfun.o 
dsetup.o evlpoly.o evlpoly2.o expfn.o ifind.o igpoly.o inpoly.o mltdrb.o 
mltdtd.o multeb.o multrb.o radbas.o radfn2.o radfun.o rcss.o rcssr.o rcsswt.o 
sortm.o -L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3/x86_64 
-L/usr/local/lib/x86_64 -L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3 
-lgfortran -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework 
-Wl,CoreFoundation
ld: warning: ld: warning: ignoring file css.o, file was built for i386 which is 
not the architecture being linked (x86_64): css.oignoring file csstr.o, file 
was built for i386 which is not the architecture being linked (x86_64): csstr.o



There's no Makefile in the fields package, so FC and F77 are not being 
overridden by the package itself, I believe.  The FC and F77 variables from R's 
Makeconf are not being respected, and I've tried to specify alternative 
gfortran compilers with syntax like:


install.packages("fields",type="source",repos="http://cran.us.r-project.org",clean=TRUE,configure.vars=list(F77="gfortran-4.2
 -arch x86_64",FC="gfortran-4.2 -arch x86_64"))

Nothing I do seems to tell the fields package to use the proper gfortran 
compiler.  I have no environment variables like FC or F77 defined.  I have to 
admit that I do have four different gfortran versions installed on this 
machine:  in addition to the R pkg version and the gfortran-4.4.0, there's a 
fink /sw/bin/gfortran 4.6.2, and a /usr/bin/gfortran-4.2 which claims to come 
from Apple (GNU Fortran (GCC) 4.2.1 (Apple Inc. build 5566)).  I'm up to date 
with Xcode.

Any advice about how to do this correctly would be much appreciated!

Thanks,

Andy
--
Andy Jacobson
andy.jacob...@noaa.gov

NOAA Earth System Research Lab
Global Monitoring Division
325 Broadway R/GMD1
Boulder, Colorado 80305

303/578-2237

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac



--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to