[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #RRO-567751]: Patches for netcdf-3.6.3



> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Friday January 16 Unidata netCDF Support wrote:
>
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA1
> > >
> > > Greetings
> > >
> > > I don't know if you are still working on the netcdf-3.x versions,
> > > but in that case you might find those two patches that I had to
> > > apply on our Gentoo packages:
> > > * netcdf-3.6.3-parallel-make.patch: allows one to build and test
> > > netcdf with multiple jobs such as make -j10
> >
> > Howdy Sbastien!
> >
> > Thanks very much for the patches.
> >
> > As for the parallel make patch, I have a question...
> >
> > I see that you have added a dependency for netcdf.lo (or netcdf4.lo).
> > Can you tell me why this is needed?
> >
> > Also, can you tell me what machine you are working on?
> >
> > Actually parallel make works fine for me on my linux box, but not on
> > my co-workers solaris box. Unfortunately your suggested changes did
> > not fix the solaris problem.
> >
> > Can you remember what failure you saw when you tried to build netcdf
> > without this patch?
> >
>
> Thanks for following up the issue.
>
> Actually the patch was initially to fix a bug on
> netcdf-3.6.2, which I forgot to send you back then:
>
> http://bugs.gentoo.org/show_bug.cgi?id=187759
>
> The parallel building worked for -j3 but not for -j2...
> I really don't remember why I added a dep on netcdf.lo and I could look
> further on, but read on.
>
> I blindly apply the patch from 3.6.2 to 3.6.3 and the patching worked,
> so I thought the code was not fixed. However, I am currently running a
> serie of tests on a Gentoo Linux x86_64 Opteron box with 32 cores
> with very up to date software (gcc-4.3.2, glibc-2.9), and it seems to
> work. I first set CFLAGS, CXXFLAGS, FFLAGS, FCFLAGS to "-O2
> - -march=native", all fortran compilers to gfortran and run:
>
> # ./configure --enable-shared
> # make -j33  && make check
>
> Compiling went fine and so are the tests. So apart for people on
> solaris, it might just work, and sorry about this one.
>


OK, great. I just tested the build with -j 2 and it worked fine.

For your other patch, can I suggest that you first try the unpatched daily
snapshot to see if it fixes your problem? There were some changes in the way
that compiler flags were handled. It now works in a more standard way.

What does this do?
LDFLAGS such as -Wl,--as-needed

Are you trying to do something with a shared library build? If so, you must
build netCDF with --enable-shared.

One more note, and it's important for the future: you should build netCDF-4.0
and future 4.x versions with the --enable-netcdf-4 (and the --with-hdf5= to
specify the hdf5 installation directory). The build will depend on hdf5-1.8.2
(or later) and zlib-1.2.3 (or later).

The default build for netCDF builds the simplest case, a static library without
any HDF5 features. This is contrary to common practice, but allows the majority
of the user base to put off dealing with HDF5 if they don't have it. However,
that default is only a good one for those doing manual installs. For wonderful
package systems like yours, installing the maximum functionality is just as
easy as installing the minimum functionality!

Thanks,

Ed

Ticket Details
===================
Ticket ID: RRO-567751
Department: Support netCDF
Priority: Normal
Status: Open