Hi All
Sorted. Roy M, Dennis H and Sean M all helped, but it was Ted Mansell
who nailed it - I was too confident in the gfortran (I used the
MacResearch.org installer).
For reference, this is *the* Snow Leopard gfortran, and it works with
the 64-bit kernel (so far!):
http://prdownloads.sourceforge.net/hpc/gfortran-snwleo-intel-
bin.tar.gz?download
(link from http://hpc.sourceforge.net)
Cheers! Now I have to get HDF-4 working :(
Harry
On 8 Dec 2009, at 18:51, Ian Harris wrote:
Hi
Has anyone successfully built NetCDF 4 as 64-bit, on a Mac Pro with
Snow Leopard and the 64-bit kernel enabled?
I'm hitting problems with the F77 interface, i think. I've set all
compiler flags I can find to '-m64' (just using GNU/free compilers,
no Absoft etc).
Configure line:
ianharris% arch -arch x86_64 ./configure --with-hdf5=/usr/local --
with-zlib=/usr/local --with-szlib=/usr/local --prefix=/usr/local --
disable-f90 --enable-netcdf-4 --enable-64bit
(I have tried it with and without the 'arch' prefix, it doesn't
seem to help)
If I specify G77 as the compiler, it doesn't seem to like the -m64
option:
:
checking for C-equivalent to Fortran routine "SUB"... configure:
error: Could not compile conftest.f
:
If, on the other hand, I specify gfortran, it compiles the tests
but then fails thusly:
:
checking if Fortran "byte" is C "signed char"... configure: error:
Could not link conftestf.o and conftest.o
:
I modded configure so it didn't delete those two files.. this is
the real problem I think:
:
ianharris% file conftestf.o conftest.o
conftestf.o: Mach-O 64-bit object ppc64
conftest.o: Mach-O 64-bit object x86_64
:
In the config.log file, this is the relevant bit (I think):
:
configure:24126: checking for C-equivalent to Fortran routine "SUB"
configure:24133: /usr/local/bin/gfortran -c -m64 conftest.f
configure:24136: $? = 0
configure:24148: result: sub_
configure:24170: checking for Fortran "byte"
configure:24178: /usr/local/bin/gfortran -c -m64 conftest.f
configure:24181: $? = 0
configure:24183: result: yes
configure:24201: checking for Fortran "integer*2"
configure:24209: /usr/local/bin/gfortran -c -m64 conftest.f
configure:24212: $? = 0
configure:24214: result: yes
configure:24241: checking if Fortran "byte" is C "signed char"
configure:24251: cc -c -m64 -m64 conftest.c
conftest.c: In function 'sub_':
conftest.c:4: warning: incompatible implicit declaration of built-
in function 'exit'
configure:24254: $? = 0
configure:24257: /usr/local/bin/gfortran -m64 -c conftestf.f
configure:24260: $? = 0
configure:24263: /usr/local/bin/gfortran -o conftest -m64
conftestf.o conftest.o
ld: warning: in /usr/lib/crt1.10.5.o, missing required architecture
ppc64 in file
ld: warning: in conftest.o, file is not of required architecture
ld: warning: in /usr/lib/libSystemStubs.a, missing required
architecture ppc64 in file
ld: warning: in /usr/lib/libSystem.dylib, missing required
architecture ppc64 in file
ld: in /usr/lib/libSystem.B.dylib, missing required architecture
ppc64 in file
collect2: ld returned 1 exit status
configure:24266: $? = 1
configure:24289: error: Could not link conftestf.o and conftest.o
:
Now, this really isn't my area of expertise (um, as keen
blogwatchers will know ;) but it looks to me as though gfortran
isn't working as a 64-bit compiler?
All compilers and supporting externals were built with the 64-bit
kernel installed and compiler env variables set '-m64'. As far as I
know.
If anyone has any suggestions.. that would be just great!
Cheers
Harry
Ian "Harry" Harris
Climatic Research Unit
School of Environmental Sciences
University of East Anglia
Norwich NR4 7TJ
United Kingdom
IMPORTANT NOTICE - This email is intended for the named recipient
only. It may contain privileged and confidential information. If you
are not the intended recipient, notify the sender immediately and
destroy this email. You must not copy, distribute or take action in
reliance upon it. Whilst all efforts are made to safeguard emails,
The School of Environmental Sciences cannot guarantee that
attachments are virus free or compatible with your systems and does
not accept liability in respect of viruses or computer problems
experienced.