I am developing a package for analysis of seismic data that relies on a
Fortran library.

Package compilation works fine on Ubuntu and Red Hat Enterprise but fails
for R 2.15.3 on Mac OSX 10.8.4.

I've included the entire dump below but the relevant error message seems to
be:

ld: warning: ignoring file libmseed/libmseed.a, file was built for archive
> which is not the architecture being linked (i386): libmseed/libmseed.a


Compilation for x86_64 proceeds without a hitch.

If anyone is curious, the package tarballs are available at:

http://mazamascience.com/Downloads/

Thanks for any helpful suggestions about compiling Fortran on OSX.

Jon


$ R CMD INSTALL seismic_0.2.1.0.tar.gz
* installing to library
‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library’
* installing *source* package ‘seismic’ ...
** libs
*** arch - i386
gcc -arch i386 -std=gnu99
-I/Library/Frameworks/R.framework/Resources/include
-I/Library/Frameworks/R.framework/Resources/include/i386 -DNDEBUG
-Ilibmseed -I/usr/local/include   -fPIC -fPIC  -g -O2  -c parseMiniSEED.c
-o parseMiniSEED.o
gcc -O2 -Wall -fPIC   -c -o fileutils.o fileutils.c
gcc -O2 -Wall -fPIC   -c -o genutils.o genutils.c
gcc -O2 -Wall -fPIC   -c -o gswap.o gswap.c
gcc -O2 -Wall -fPIC   -c -o lmplatform.o lmplatform.c
gcc -O2 -Wall -fPIC   -c -o lookup.o lookup.c
gcc -O2 -Wall -fPIC   -c -o msrutils.o msrutils.c
gcc -O2 -Wall -fPIC   -c -o pack.o pack.c
gcc -O2 -Wall -fPIC   -c -o packdata.o packdata.c
gcc -O2 -Wall -fPIC   -c -o traceutils.o traceutils.c
gcc -O2 -Wall -fPIC   -c -o tracelist.o tracelist.c
gcc -O2 -Wall -fPIC   -c -o parseutils.o parseutils.c
gcc -O2 -Wall -fPIC   -c -o unpack.o unpack.c
gcc -O2 -Wall -fPIC   -c -o unpackdata.o unpackdata.c
gcc -O2 -Wall -fPIC   -c -o selection.o selection.c
gcc -O2 -Wall -fPIC   -c -o logging.o logging.c
rm -f libmseed.a
ar -csq libmseed.a fileutils.o genutils.o gswap.o lmplatform.o lookup.o
msrutils.o pack.o packdata.o traceutils.o tracelist.o parseutils.o unpack.o
unpackdata.o selection.o logging.o
gcc -arch i386 -std=gnu99 -dynamiclib -Wl,-headerpad_max_install_names
-undefined dynamic_lookup -single_module -multiply_defined suppress
-L/usr/local/lib -o seismic.so parseMiniSEED.o -Llibmseed -lmseed
-F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework
-Wl,CoreFoundation
ld: warning: ignoring file libmseed/libmseed.a, file was built for archive
which is not the architecture being linked (i386): libmseed/libmseed.a
installing to
/Library/Frameworks/R.framework/Versions/2.15/Resources/library/seismic/libs/i386
*** arch - x86_64
gcc -arch x86_64 -std=gnu99
-I/Library/Frameworks/R.framework/Resources/include
-I/Library/Frameworks/R.framework/Resources/include/x86_64 -DNDEBUG
-Ilibmseed -I/usr/local/include   -fPIC -fPIC  -g -O2  -c parseMiniSEED.c
-o parseMiniSEED.o
gcc -O2 -Wall -fPIC   -c -o fileutils.o fileutils.c
gcc -O2 -Wall -fPIC   -c -o genutils.o genutils.c
gcc -O2 -Wall -fPIC   -c -o gswap.o gswap.c
gcc -O2 -Wall -fPIC   -c -o lmplatform.o lmplatform.c
gcc -O2 -Wall -fPIC   -c -o lookup.o lookup.c
gcc -O2 -Wall -fPIC   -c -o msrutils.o msrutils.c
gcc -O2 -Wall -fPIC   -c -o pack.o pack.c
gcc -O2 -Wall -fPIC   -c -o packdata.o packdata.c
gcc -O2 -Wall -fPIC   -c -o traceutils.o traceutils.c
gcc -O2 -Wall -fPIC   -c -o tracelist.o tracelist.c
gcc -O2 -Wall -fPIC   -c -o parseutils.o parseutils.c
gcc -O2 -Wall -fPIC   -c -o unpack.o unpack.c
gcc -O2 -Wall -fPIC   -c -o unpackdata.o unpackdata.c
gcc -O2 -Wall -fPIC   -c -o selection.o selection.c
gcc -O2 -Wall -fPIC   -c -o logging.o logging.c
rm -f libmseed.a
ar -csq libmseed.a fileutils.o genutils.o gswap.o lmplatform.o lookup.o
msrutils.o pack.o packdata.o traceutils.o tracelist.o parseutils.o unpack.o
unpackdata.o selection.o logging.o
gcc -arch x86_64 -std=gnu99 -dynamiclib -Wl,-headerpad_max_install_names
-undefined dynamic_lookup -single_module -multiply_defined suppress
-L/usr/local/lib -o seismic.so parseMiniSEED.o -Llibmseed -lmseed
-F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework
-Wl,CoreFoundation
installing to
/Library/Frameworks/R.framework/Versions/2.15/Resources/library/seismic/libs/x86_64
** R
** inst
** preparing package for lazy loading
Creating a generic function for ‘as.vector’ from package ‘base’ in package
‘seismic’
Creating a generic function for ‘mean’ from package ‘base’ in package
‘seismic’
Creating a generic function for ‘median’ from package ‘stats’ in package
‘seismic’
Creating a generic function for ‘sd’ from package ‘stats’ in package
‘seismic’
Creating a generic function for ‘plot’ from package ‘graphics’ in package
‘seismic’
** help
*** installing help indices
** building package indices
** installing vignettes
   ‘seismic-intro.Rnw’
** testing if installed package can be loaded
*** arch - i386
Error in dyn.load(file, DLLpath = DLLpath, ...) :
  unable to load shared object
'/Library/Frameworks/R.framework/Versions/2.15/Resources/library/seismic/libs/i386/seismic.so':

dlopen(/Library/Frameworks/R.framework/Versions/2.15/Resources/library/seismic/libs/i386/seismic.so,
6): Symbol not found: _ms_loginit
  Referenced from:
/Library/Frameworks/R.framework/Versions/2.15/Resources/library/seismic/libs/i386/seismic.so
  Expected in: flat namespace
 in
/Library/Frameworks/R.framework/Versions/2.15/Resources/library/seismic/libs/i386/seismic.so
Error: loading failed
Execution halted
*** arch - x86_64
ERROR: loading failed for ‘i386’
* removing
‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/seismic’


-- 
Jonathan Callahan, PhD
Mazama Science
206-708-5028
mazamascience.com

	[[alternative HTML version deleted]]

