|
From: Jennifer A. <jm...@co...> - 2008-05-12 22:26:46
|
On May 12, 2008, at 4:03 PM, Arlindo da Silva wrote:
> On Mon, May 12, 2008 at 2:24 PM, Jennifer Adams <jm...@co...>
> wrote:
> Mods to the build system are on my list of important things to work
> on, but they have been trumped by my list of urgent things to do
> right away. I will rework the build scripts when we add geotiff and
> shapefile output.
>
> I am sure you realize that both Pat and myself have spent a lot of
> time reworking the GrADS build scripts
Yes, of course I have no intention of starting from scratch.
> for v1.9 and more recently adapted it for v2. We don't claim that
> what is on the OpenGrADS repo is perfect but it is a pretty good
> start. Some of the small changes we made to the v2 codebase were
> made to support the new build, and to fix some potentially hard to
> find bugs (for example, "grads.h" no longer includes "netcdf.h").
Why is that a bug?
I know it still needs work, but it's still in alpha, after all. There
were a lot of nits to pick when merging gradsc, gradsnc, and
gradshdf, and all of the flags set in config.h and the #IFDEF
statements in the code do not work perfectly. For example, I just
discovered that if you have DAP libs but not netcdf, it doesn't set
the USESDF flag.
> So, keep in touch we will be glad to help out with whatever we can.
My impression is that that working on mods to the current configure
system is a bit like building up a house of cards -- the foundation
is a bit shaky and not perfectly designed. Maybe GrADS should
configure more like other packages do... something like this:
./configure --with-hdf=/the/path/where/hdf/is/installed --with-
grib2=/the/path/where/grib2/libs/are
The problem with the "--with-feature" option is that features like
grib2 needs more than one library, and some of the features have
overlapping library needs (png, jpeg, zlib, et al). And it just
doesn't seem practical to put --with-<libname> for each and every
library you need. Users can't be bothered with that level of detail,
and even I get a little annoyed if I have to use a lot of options on
configure. On the Mac, there are packages like fink and MacPorts that
install libraries effortlessly in places like /opt/local/ (linux has
yum and other similar easy ways to install stuff), and I'd like to
take advantage of that with the -enable-dynamic-supplibs. But many of
the library packages don't install the include files with a named
subdirectory under include (such as $SUPPLIBS/include/hdf/ ) so then
I have to consider differences in configuring HDF if I'm using a non-
GrADS customized installation or a user-configured one. Then I end up
in the usual place -- putting the whole messy business on the back
burner while I work on something more urgent.
Incidentally, I found the opengrads supplibs tarball hard to use -- I
tried it with an ubuntu build environment and it was a BIG file to
download, and it took hours to configure/make everything, and then it
didn't build everything flawlessly "out of the box." After that, it
was hard to figure out how to just use some of the libs, and then
they didn't work when trying to link with GrADS. I had to rerun
configure with manual options on a few occasions. Will have to get
back to that problem because it will be easier to put out a ubuntu
binary distro than walk users through building from source on that OS.
As Hoop would say, %}
--Jennifer
|