Fwd: Re: [gdal-dev] FWTools and GDAL 1.7.0

Christopher Barker Chris.Barker at noaa.gov
Wed Jan 5 17:25:01 EST 2011


It may well be that GDAL has too many different use cases to even have a 
"standard" install, but...

On 1/5/11 1:37 PM, Tamas Szekeres wrote:
> 2011/1/5 Christopher Barker <Chris.Barker at noaa.gov
>     1) It would be nice to have binaries for the latest release front
>     and center at the main GDAL site -- having to poke around to find
>     Tamas's site is not a big deal, but not always obvious.

> With regards to the comment above, while I'm not sure about the
> objectives but I don't think the GDAL site would intend to be a hosting
> provider of various binary packages,

Well, many (most?) open source packages have "official" binaries hosted 
on its site. It's pretty common to go to a project's site and expect to 
find a way to download binaries right then and there.

>     2) A standard install location would be good. As I've messed with
>     this each time, I never know where stuff should go -- maybe
>     installers would help with that
>
> This doesn't seem to be decisive requirement to me.

It's not a strong requirement, but standard defaults do make things 
easier for everyone.

> Or some other folks may prefer installing these files
> along with their applications or keep such files in separate - project
> specific - directories.

Well, users should certainly be able to do something custom if they 
want. This is all about use-cases -- if you are building a custom app 
linked against GDAL, then you probably want to control where you put things.

However, if you are interested in the command line tools, and using GDAL 
via Python or Perl or ??, then it makes it easier to have a standard 
location.

 > Another issue of an installer may be due to a single product key
> along with the setup which would prevent from installing multiple
> versions side by side in the same environment.

Surely there are ways to accommodate that? though "dll hell" is in the 
lexicon for a reason!

>     3) If there is a standard install location, then "easy_install gdal"
>     (or setup.py build, or...) could work for the python bindings.

> I admit I don't have enough knowledge about the 'magic' tricks related
> to python-ish way installing applications.

That's the thing -- there is no magic here. If you are building a python 
extension, you need to tell the build system where its dependencies lie. 
If you are installing a pre-built python extension, then the 
dependencies need to be in a known place (or maybe on the right PATHS -- 
Windows is pretty ugly this way). Which is why a "standard" install 
location would be a good idea.

> I might also consider
> running a custom application with gdal not necessarily be the
> responsibility of a GDAL package.

well, that depends on whether you consider Python bindings a "custom 
application". In any case, I think it helps third party packages to have 
standard default install locations.

Oh for *nix -- this would be easier if we just could just put stuff in 
/usr/local/...

> You might also want to install python
> from a separate installer (either ActivePython, python.org
> <http://python.org> whatever)

True -- but it is very much a standard for third party packages to 
provide binaries for the python.org python build. Again, I'm not 
suggesting that folks should be prevented (or even discouraged) from 
doing various sorts of custom installs, just that there should be 
defaults, so that it's clear an easy for a newbie to know what to to to 
get things to "just work".

>     Another option is to have a binary installer for the python bindings
>     that includes gdal and the gdal utilities -- that would be great for
>     users like me, but I don't know how common my use case is. In that
>     case, you'd want to support a few recent pythons versions, the
>     python.org <http://python.org> binaries: 2.6, 2.7, 3.1 (maybe 2.5 too).
>
> I don't know much about this either. This may however be doable for
> those guys who know the Python packaging approach well enough.

It's not that hard (at lest once GDAL is built), but it is work.

> I don't
> think eiter of the packages referred at
> http://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries would support
> this feature though.

Agreed -- that's my point!

>     One of the tricks here is which numpy to support, etc. numpy has
>     been pretty good with binary compatibility lately (except for one
>     mistake recently that was corrected)
>
>
> Not sure how this be related to a GDAL binary distribution, as far as I
> remember numpy can be installed to the Python deployment directly.

yes, but the Python bindings are built against a particular numpy. 
That's OK for version so numpy that are binary compatible, but it 
potentially fragile. Note that with the new extended buffer interface, 
it should be possible to build GDAL with full numpy support, but not 
have to compile against numpy. But I think that's only good for 2.7 and 3.*

>     However, I DON'T want gdal to give me  Python -- I use Python for
>     too many other things for that.
>
> Yes, adding more runtime environments to a simple GDAL package makes it
> more heavy weighted.

right -- I think we're talking about lightweight, GDAL only packages here.

> in many cases it's more reasonable to let the
> application (using the GDAL binaries) decide how to make a proper
> installer to run their application smoothly.

Hmm -- that's the trick -- are the Python (and Perl, and...) bindings an 
"application (using the GDAL binaries)", or are they part of GDAL? In 
many cases, the python bindings are a completely separate project from 
the library they bind, so it's a clear distinction, but not in this case.

This makes me think, though -- maybe I should think about this 
differently -- I'm trying to get the GDAL command line tools, and the 
Python bindings. Maybe I should simply consider those as separate issues 
altogether -- they don't need to share the same binaries. In that case, 
maybe the python bindings should be statically linked, or deliver the 
dlls with the bindings, and be available as an entirely stand-alone 
installer.

Indeed, having said that, I'm looking around and see that someone is 
doing that:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

very nice -- I'll have to give those a test.

>     4) it might be nice if the install location for the utilities got
>     put on the user's PATH -- I don't know how hard that is in an
>     installer -- Windows really sucks in that regard.
>
> I don't think it would be beneficial in most cases. This could easily
> break other applications (using the dll-s with the same names) to fail
> unexpectedly.

I was thinking the executable utilities, not the dlls, but Windows does 
conflate those PATHs, doesn't it? (sigh)

Anyway, next time I update my Windows system (which I'll need to do 
soon), I'll think about these issues some more.

A couple notes on:

http://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries

Looking again at that page, I'm reminded why this has seemed painful. 
Under the Windows section:

"""
Minimalist windows executables are available at:

      http://download.osgeo.org/gdal/win32/1.6/gdalwin32exe160.zip
"""

these are out of date -- if they are going to exist, they really should 
be updated. They are hosted by osgeo, and thus look "official".

"""
Other plugins will be added in the same location (such as Oracle/OCI):

      http://download.osgeo.org/gdal/win32/
"""

How well maintained is this set?

"""
A more featureful set of windows binaries, including python, proj and c# 
support is available as part of the  FWTools package.
"""

no longer kept up to date, either.

"""
Windows binaries built in MinGW are available at:

      http://map.hut.fi/files/Geoinformatica/win32/

The Geoinformatica-yy-mm-dd.zip contains GDAL (usually a development 
version), Perl-GDAL, Perl, and many other things.
"""

good for MinGW users, I suppose -- I remember them not working for me, 
tough I can't recall how or why not. They also suffer from perhaps 
trying to be too much (though if it all worked, I wouldn't care, I have 
a fast network and large hard drive)


"""
Tamas Szekeres maintains a complete set of Win32 and Win64 binary 
packages (compiled with VC2003/VC2005/VC2008) available at the following 
location.

      http://vbkto.dyndns.org/sdk/
"""

These are fabulous -- maybe they should be first on the list? Though 
there is a LOT there -- you need to know what you are looking for.

"""
  OSGeo4W is a binary distribution of a broad set of open source 
geospatial software for Win32 environments (Windows XP, Vista, etc). 
OSGeo4W includes GDAL/OGR,  GRASS, MapServer?,  OpenEV,  uDig, as well 
as many other packages (about 70 as of summer 2008).
"""

I think for folks that are primarily FOSS4G folks, this is great. A bit 
of a mess if you just want GDAL though.

-Chris



-- 
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov


More information about the gdal-dev mailing list