[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #XCV-291469]: NetCDF 4.1.3 build on Mac OS X 10.7 (Lion)
- Subject: [netCDF #XCV-291469]: NetCDF 4.1.3 build on Mac OS X 10.7 (Lion)
- Date: Fri, 12 Aug 2011 16:27:29 -0600
Great news! I'm glad it worked. The C++ and Fortran netCDF libs have been split
into separate packages (as of today - you got lucky and hit that exact daily
snapshot!). I've included the announcement that was sent through the netCDF
users list this morning.
Sean
==============================================
Date: Fri, 12 Aug 2011 06:39:09 -0600
From: Ed Hartnett <address@hidden>
To: address@hidden
Subject: [netcdfgroup] time for fortran and C++ libraries to move out of
their parents' basement!
Howdy all!
For the upcoming netcdf-4.2 release, there will be a change in the
packaging of the netCDF libraries. Until now, the Fortran 77, Fortran
90, C++, and the new C++ (a.k.a. CXX4) have all been packaged together.
This will no longer be the case. Instead, the C library (with tools
ncgen/ncdump/nccopy) will be released separately from the Fortran and
C++ libraries.
The netCDF daily snapshot
(ftp://ftp.unidata.ucar.edu/pub/netcdf/snapshot/netcdf-4-daily.tar.gz)
reflects this change. It now only builds the C library and
ncgen/ncdump/nccopy. It no longer includes the C++ or Fortran libraries.
The F77 and F90 libraries will continue to be released as one package,
now called netcdf-fortran. A beta release can be found here:
ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.2-beta1.tar.gz
A beta of the new C++ library (netcdf-cxx4) can be found here:
ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-cxx4-4.2-beta1.tar.gz
For backward compatibility, a distribution of the old C++ library
(netcdf-cxx) is also available. It should not be used for new projects,
as it does not include many important netCDF-4 features. A beta can be
found here:
ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-cxx-4.2-beta1.tar.gz
I have not updated the documentation with new build instructions, but in
all cases, install the netcdf-4.1.3 C library (or the snapshot)
somewhere, and then set CPPFLAGS and LDFLAGS to point to that spot for
the builds of the fortran and C++ libraries.
More beta releases, and then full 4.2 releases for the Fortran and C++
libraries will come before the netCDF C library 4.2 release.
These changes is intended to lighten our workload when new versions are
released, and to provide the capability of doing a fortran or C++
release without waiting for the next major C library release.
Any feedback would be most appreciated. Please send it to:
address@hidden
Thanks!
Ed
--
Ed Hartnett -- address@hidden
_______________________________________________
netcdfgroup mailing list
address@hidden
For list information or to unsubscribe, visit:
http://www.unidata.ucar.edu/mailing_lists/
> That worked, Sean!
>
> The history from my build is shown below.
>
> One question: Where did the separate Fortran/C++ libraries go? Have they been
> rolled into one common library or do I need to set some flags to build them?
>
> My previous build generated these libraries:
>
> -rwxr-xr-x 1 root wheel 1.1K Aug 1 14:34 libnetcdff.la
> -rw-r--r-- 1 root wheel 854K Aug 1 14:34 libnetcdff.a
> -rwxr-xr-x 1 root wheel 1.1K Aug 1 14:34 libnetcdf_c++.la
> -rw-r--r-- 1 root wheel 309K Aug 1 14:34 libnetcdf_c++.a
>
> Now I only see these:
>
> -rwxr-xr-x 1 root wheel 1.1K Aug 12 17:21 libnetcdf.la
> lrwxr-xr-x 1 root wheel 17B Aug 12 17:21 libnetcdf.dylib ->
> libnetcdf.7.dylib
> -rw-r--r-- 1 root wheel 1.8M Aug 12 17:21 libnetcdf.a
> -rwxr-xr-x 1 root wheel 1.5M Aug 12 17:21 libnetcdf.7.dylib
>
> There are no occurrences of 'mpif90' in my 'make.log' file. None of these
> configure settings work:
>
> configure: WARNING: unrecognized options: --enable-fortran, --enable-cxx
> configure: WARNING: unrecognized options: --enable-f77, --enable-f90,
> --enable-cxx4
>
> What do I need to set to build these interfaces?
>
> Thank you!
> Craig
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> wget ftp://ftp.unidata.ucar.edu/pub/netcdf/snapshot/netcdf-4-daily.tar.gz
> tar -xzvf netcdf-4-daily.tar.gz
>
> cd netcdf-4.2-snapshot2011081208
>
> setenv USR_LOCAL /usr/local
> setenv LIBZ /usr
> setenv SZIP ${USR_LOCAL}/szip
> setenv HDF5 ${USR_LOCAL}/phdf5
> setenv INCS "-I${HDF5}/include -I${SZIP}/include"
> setenv LIBS "-L${HDF5}/lib -lhdf5 -L${LIBZ}/lib -lz -L${SZIP}/lib -lsz"
>
> setenv NETCDF4 ${USR_LOCAL}/netcdf4
>
> setenv CPP "cpp -C -P -xassembler-with-cpp -traditional"
> setenv CC mpicc
> setenv CXX mpicxx
> setenv F77 mpif77
> setenv FF mpif77
> setenv FC mpif90
> setenv F90 mpif90
>
> setenv CPPFLAGS "-DNDEBUG -DpgiFortran"
> setenv CFLAGS "-w -O3 -xHost -ip -fp-model fast=2 -no-prec-div -no-prec-sqrt
> -ftz -no-multibyte-chars -m64 ${INCS}"
> setenv CXXFLAGS "${CFLAGS}"
> setenv FCFLAGS "-w -O3 -xHost -ip -fp-model fast=2 -no-heap-arrays
> -no-prec-div -no-prec-sqrt -ftz -align all -m64 ${INCS}"
> setenv FFLAGS "${FCLAGS}"
> setenv LDFLAGS "-w -O3 -xHost -ip -fp-model fast=2 -no-heap-arrays
> -no-prec-div -no-prec-sqrt -ftz -m64 ${LIBS}"
>
> ./configure --prefix=${NETCDF4} --enable-netcdf4
>
> make | & tee make.log
> make check | & tee check.log
> sudo make install
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> On Aug 12, 2011, at 5:02 PM, Unidata netCDF Support wrote:
>
> > Greetings!
> >
> > There have been some changes with the netCDF configure script which
> > included dropping the --with-zlib and --with-szlib flags (those flags
> > actually broke the install on some systems, so they had to go). In order to
> > tell the configure script to use szlib and zlib, you simply have to point
> > it the directory where they live, except now you need to do so with the
> > CPPFLAGS and LDFLAGS:
> >
> > CPPFLAGS="-I/path/to/zlib/include -I/path/to/szlib/include"
> > LDFLAGS=-"L/path/to/zlib/lib -L/path/to/szlib/lib" ./configure <options>
> >
> > If configure can find the zlib and szlib libs in the paths you specify in
> > CPPFLAGS and LDFLAGS, then it will use them.
> >
> > We don't use a --enable-parallel flag - in order to build the parallel
> > version of netCDF (and HDF), check out the following page:
> >
> > http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install/parallel.html#parallel
> >
> > Cheers!
> >
> > Sean
> >
> >> Thank you, Sean!
> >>
> >> I just downloaded the daily snapshot and ran configure with:
> >>
> >> ./configure --prefix=${NETCDF4} --enable-netcdf4 --enable-parallel
> >> --with-zlib=${LIBZ}/lib --with-szlib=${SZIP}/lib
> >>
> >> I received these new warnings:
> >>
> >> configure: WARNING: unrecognized options: --enable-parallel, --with-zlib,
> >> --with-szlib
> >>
> >> If I specify CC=mpicc, FF=mpif77, FC=mpif90, etc., does configure
> >> automatically know to build a parallel version?
> >>
> >> 'configure --help' tells me this:
> >>
> >> Optional Packages:
> >> --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
> >>
> >> How will configure know to build with zlib and szip?
> >>
> >> Craig
> >>
> >> On Aug 12, 2011, at 10:56 AM, Unidata netCDF Support wrote:
> >>
> >>> Greetings Craig,
> >>>
> >>> It looks like this bug in the tests has been fixed. I am not sure if the
> >>> fix has been pushed to the nightly build yet or not, but as a work
> >>> around, compile netCDF without either the --enable-large-file-tests or
> >>> --enable-benchmarks flags.
> >>>
> >>> Please let me know how this goes! Cheers!
> >>>
> >>> Sean
> >>>
> >>>> Great -- thank you for keeping me updated on the situation, Sean!
> >>>>
> >>>> Craig
> >>>>
> >>>> On Aug 5, 2011, at 4:26 PM, Unidata netCDF Support wrote:
> >>>>
> >>>>> Thanks for the logs Craig. This appears to be a bug. The main
> >>>>> developers of netCDF are looking into the problem, and I'll let you
> >>>>> know when it gets fixed in the nightly build.
> >>>>>
> >>>>> Thanks!
> >>>>>
> >>>>> Sean
> >>>>>
> >>>>>> Hi Sean,
> >>>>>>
> >>>>>> Attached are the logs, compressed with 'gzip' to prevent contamination
> >>>>>> by e-mail clients:
> >>>>>>
> >>>>>> config.log.gz
> >>>>>> make.log.gz
> >>>>>> check.log.gz
> >>>>>>
> >>>>>> Guess I could edit the source (tst_create_files.c), but there must be
> >>>>>> some reason why the function signatures don't match.
> >>>>>>
> >>>>>> Thanks for your help!
> >>>>>> Craig
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Jul 29, 2011, at 10:28 PM, Unidata netCDF Support wrote:
> >>>>>>
> >>>>>>> Hi Craig,
> >>>>>>>
> >>>>>>> Unfortunately, I've never passed step one with users in trying to fix
> >>>>>>> this one. Step one is "please send me the logs from configure, make,
> >>>>>>> and make check", but I get silence after that. So, I'll cross my
> >>>>>>> fingers and ask, would you mind sending those logs?
> >>>>>>>
> >>>>>>> Sorry for the lack of magic, but with your help, we'll do our best!
> >>>>>>>
> >>>>>>> Sean
> >>>>>>>
> >>>>>>>> Hi Sean,
> >>>>>>>>
> >>>>>>>> That fix got me past those errors!
> >>>>>>>>
> >>>>>>>> However, now I am running into this mpicc build error:
> >>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >>>>>>>> gnumake[2]: `tst_large' is up to date.
> >>>>>>>> depbase=`echo tst_create_files.o | sed
> >>>>>>>> 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> >>>>>>>> mpicc -DHAVE_CONFIG_H -I. -I.. -I../fortran -I../include -I../oc
> >>>>>>>> -DNDEBUG -DpgiFortran -w -O3 -xHost -ip -fp-model fast=2
> >>>>>>>> -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars -m64
> >>>>>>>> -I/usr/local/phdf5/include -I/usr/local/szip/include -MT
> >>>>>>>> tst_create_files.o -MD -MP -MF $depbase.Tpo -c -o tst_create_files.o
> >>>>>>>> tst_create_files.c &&\
> >>>>>>>> mv -f $depbase.Tpo $depbase.Po
> >>>>>>>> tst_create_files.c(61): error #140: too many arguments in function
> >>>>>>>> call
> >>>>>>>> if (nc_def_var_chunking(ncid, varid, NULL, chunk_sizes, NULL)) ERR;
> >>>>>>>> ^
> >>>>>>>> gnumake[2]: *** [tst_create_files.o] Error 2
> >>>>>>>> gnumake[1]: *** [check-am] Error 2
> >>>>>>>> make: *** [check-recursive] Error 1
> >>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >>>>>>>>
> >>>>>>>> Any magic for this one?
> >>>>>>>>
> >>>>>>>> Craig
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Jul 29, 2011, at 4:48 PM, Unidata netCDF Support wrote:
> >>>>>>>>
> >>>>>>>>> Greetings Craig!
> >>>>>>>>>
> >>>>>>>>> The issue has to do with a test related to libsz - a fix has
> >>>>>>>>> recently be added, but is only avaliable in the nightly build at
> >>>>>>>>> this point. Please try using the nightly build to see if this fixes
> >>>>>>>>> the issue:
> >>>>>>>>>
> >>>>>>>>> ftp.unidata.ucar.edu/pub/netcdf/snapshot/netcdf-4-daily.tar.gz
> >>>>>>>>>
> >>>>>>>>> Cheers!
> >>>>>>>>>
> >>>>>>>>> Sean
> >>>>>>>>>
> >>>>>>>>>> Hi,
> >>>>>>>>>>
> >>>>>>>>>> I am trying to build NetCDF 4.1.3 on Mac OS X 10.7 (Lion) with the
> >>>>>>>>>> Intel 12.0.4.184 compilers using these settings:
> >>>>>>>>>>
> >>>>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >>>>>>>>>> setenv USR_LOCAL /usr/local
> >>>>>>>>>> setenv LIBZ /usr
> >>>>>>>>>> setenv HDF5 ${USR_LOCAL}/phdf5
> >>>>>>>>>>
> >>>>>>>>>> setenv INCS "-I${HDF5}/include"
> >>>>>>>>>> setenv LIBS "-L${HDF5}/lib -lhdf5 -L${LIBZ}/lib -lz"
> >>>>>>>>>>
> >>>>>>>>>> setenv NETCDF4 ${USR_LOCAL}/netcdf4
> >>>>>>>>>>
> >>>>>>>>>> setenv CPP "cpp -C -P -xassembler-with-cpp -traditional"
> >>>>>>>>>> setenv CC mpicc
> >>>>>>>>>> setenv CXX mpicxx
> >>>>>>>>>> setenv F77 mpif77
> >>>>>>>>>> setenv FF mpif77
> >>>>>>>>>> setenv FC mpif90
> >>>>>>>>>>
> >>>>>>>>>> setenv CPPFLAGS "-DNDEBUG -DpgiFortran"
> >>>>>>>>>> setenv CFLAGS "-w -O3 -xHost -ip -fp-model fast=2 -no-prec-div
> >>>>>>>>>> -no-prec-sqrt -ftz -no-multibyte-chars -m64 ${INCS}"
> >>>>>>>>>> setenv CXXFLAGS "-w -O3 -xHost -ip -fp-model fast=2 -no-prec-div
> >>>>>>>>>> -no-prec-sqrt -ftz -no-multibyte-chars -m64 ${INCS}"
> >>>>>>>>>> setenv FCLAGS "-w -O3 -xHost -ip -fp-model fast=2 -no-heap-arrays
> >>>>>>>>>> -no-prec-div -no-prec-sqrt -ftz -align all -m64 ${INCS}"
> >>>>>>>>>> setenv FFLAGS "-w -O3 -xHost -ip -fp-model fast=2 -no-heap-arrays
> >>>>>>>>>> -no-prec-div -no-prec-sqrt -ftz -align all -m64 ${INCS}"
> >>>>>>>>>> setenv LDFLAGS "-w -O3 -xHost -ip -fp-model fast=2 -no-heap-arrays
> >>>>>>>>>> -no-prec-div -no-prec-sqrt -ftz -m64 ${LIBS}"
> >>>>>>>>>>
> >>>>>>>>>> ./configure --prefix=${NETCDF4} --enable-parallel
> >>>>>>>>>> --with-zlib=/usr/lib --enable-large-file-tests --enable-benchmarks
> >>>>>>>>>>
> >>>>>>>>>> make |& tee make.log
> >>>>>>>>>> make check |& tee check.log
> >>>>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >>>>>>>>>>
> >>>>>>>>>> It builds fine and all the tests are successful, until it hits
> >>>>>>>>>> this compiler glitch:
> >>>>>>>>>>
> >>>>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >>>>>>>>>> libtool: link: mpif90 -I../fortran -I../f90 -I../f90 -I../include
> >>>>>>>>>> -I../oc -g -w -O3 -xHost -ip -fp-model fast=2 -no-heap-arrays
> >>>>>>>>>> -no-prec-div -no-prec-sqrt -ftz -m64 -o f90tst_vars4
> >>>>>>>>>> f90tst_vars4.o -L/usr/local/phdf5/lib -L/usr/local/szip/lib
> >>>>>>>>>> -L/usr/lib ../fortran/.libs/libnetcdff.a
> >>>>>>>>>> /Users/cmattock/Downloads/netcdf-4.1.3/liblib/.libs/libnetcdf.a
> >>>>>>>>>> /usr/local/phdf5/lib/libhdf5_hl.dylib -lcurl
> >>>>>>>>>> /usr/local/phdf5/lib/libhdf5.dylib /usr/local/szip/lib/libsz.dylib
> >>>>>>>>>> -lm -lz
> >>>>>>>>>> mpif90 -I../fortran -I../f90 -I../f90 -I../include -I../oc -g -c
> >>>>>>>>>> -o f90tst_vars2.o f90tst_vars2.f90
> >>>>>>>>>> f90tst_vars2.f90(37): error #6418: This name has already been
> >>>>>>>>>> assigned a data type. [CACHE_SIZE]
> >>>>>>>>>> integer, parameter :: CACHE_SIZE = 8, CACHE_NELEMS = 571,
> >>>>>>>>>> CACHE_PREEMPTION = 66
> >>>>>>>>>> ------------------------^
> >>>>>>>>>> f90tst_vars2.f90(37): error #6418: This name has already been
> >>>>>>>>>> assigned a data type. [CACHE_NELEMS]
> >>>>>>>>>> integer, parameter :: CACHE_SIZE = 8, CACHE_NELEMS = 571,
> >>>>>>>>>> CACHE_PREEMPTION = 66
> >>>>>>>>>> ----------------------------------------^
> >>>>>>>>>> f90tst_vars2.f90(77): error #6284: There is no matching specific
> >>>>>>>>>> function for this generic function reference. [NF90_DEF_VAR]
> >>>>>>>>>> call check(nf90_def_var(ncid, VAR5_NAME, NF90_INT, dimids, varid5,
> >>>>>>>>>> chunksizes = chunksizes, &
> >>>>>>>>>> -------------^
> >>>>>>>>>> f90tst_vars2.f90(85): error #6404: This name does not have a type,
> >>>>>>>>>> and must have an explicit type. [NF90_SET_VAR_CHUNK_CACHE]
> >>>>>>>>>> call check(nf90_set_var_chunk_cache(ncid, varid1, CACHE_SIZE, &
> >>>>>>>>>> -------------^
> >>>>>>>>>> compilation aborted for f90tst_vars2.f90 (code 1)
> >>>>>>>>>> gnumake[2]: *** [f90tst_vars2.o] Error 1
> >>>>>>>>>> gnumake[1]: *** [check-am] Error 2
> >>>>>>>>>> make: *** [check-recursive] Error 1
> >>>>>>>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >>>>>>>>>>
> >>>>>>>>>> Is this repetitive parameter information coming in through the
> >>>>>>>>>> "use netcdf" import? What is the best way to fix this?
> >>>>>>>>>>
> >>>>>>>>>> Thank you!
> >>>>>>>>>> Craig
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Ticket Details
> >>>>>>>>> ===================
> >>>>>>>>> Ticket ID: XCV-291469
> >>>>>>>>> Department: Support netCDF
> >>>>>>>>> Priority: Normal
> >>>>>>>>> Status: Open
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Ticket Details
> >>>>>>> ===================
> >>>>>>> Ticket ID: XCV-291469
> >>>>>>> Department: Support netCDF
> >>>>>>> Priority: Normal
> >>>>>>> Status: Open
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>> Ticket Details
> >>>>> ===================
> >>>>> Ticket ID: XCV-291469
> >>>>> Department: Support netCDF
> >>>>> Priority: High
> >>>>> Status: Open
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>> Ticket Details
> >>> ===================
> >>> Ticket ID: XCV-291469
> >>> Department: Support netCDF
> >>> Priority: Urgent
> >>> Status: Open
> >>>
> >>
> >>
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: XCV-291469
> > Department: Support netCDF
> > Priority: Urgent
> > Status: Open
> >
>
>
Ticket Details
===================
Ticket ID: XCV-291469
Department: Support netCDF
Priority: Urgent
Status: Open