Re: [netcdfgroup] NetCDF-4 for Windows

Ward

Build all statically.
NCO for Windows is built all statically, just to avoid users having to search 
for dependency libraries (as well as DLL incompatibilities).

This goes for the libraries themselves (netCDF, HDF5, zlib, curl, antlr, gsl) 
as well for the Windows C Run-Time libraries.

-Pedro

----------------------
Pedro Vicente
pedro.vicente@xxxxxxxxxxxxxxxxxx
http://www.space-research.org/


  ----- Original Message ----- 
  From: Chris Barker 
  To: Ward Fisher 
  Cc: don.k.hooper@xxxxxxxx ; netcdfgroup@xxxxxxxxxxxxxxxx List 
  Sent: Thursday, November 13, 2014 2:36 PM
  Subject: Re: [netcdfgroup] NetCDF-4 for Windows


  On Thu, Nov 13, 2014 at 2:14 PM, Ward Fisher <wfisher@xxxxxxxxxxxxxxxx> wrote:

    The pre-built netcdf binaries should work with those packages, so it would 
be fine to refer people to those sites I think. However, the installer does 
come bundled with the dependencies (libhdf5.dll, libcurl.dll, zlib.dll, etc) 
that netcdf was built against.

  great. However, could you statically link netcdf.dll against all of these, 
and have one-stop, shopping, and less confusion? Sure, some folks will want to 
use some of those libs independently, but they'll knwo how to build, etc 
themselves.


  while we're at it, a small plug for calling it netcdf4.dll -- or even better, 
netcdf4.x.y.dll


  yes, it's pretty cool that you can drop a netcdf4.dll on top of a 
netcdf3.dll, and it should "just work", but you certainly can't do it the other 
way around. And the fun of Windows "dill hell" makes that all too likely.
    The issue people run in to is that these libraries live inside a directory 
and need to be either manually copied into a folder on the system PATH or have 
the folder added to the path.

    When building out the packaging system, I was loathe to do either of these 
automatically because I didn’t want to overwrite any pre-existing libraries, or 
modify the system path. This is becoming a larger issue, however, so I should 
probably revisit these decisions.

  yeah -- this is a tough one Ideally:


  The command line tools: ncdump, etc go somewhere on to the PATH.


  The dlls go in the same dir, so that the command line tools will find them. 
All good.


  However, that means that those dlls are now on the Windows dll search path, 
so other apps may suddenly find them instead of whatever copy they had been 
using.


  This, by the way, is the primary source of "dll hell" on windows: the 
combination of:


  a) the search path for executables and the dll is the same (WTF?)
  AND
  b) executable will look next to themselves for dlls first.


  b) means that folks commonly put dlls next to executable, 
  a) means that that puts them on teh dll search path, which means any other 
app might them.


  sigh.


  -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@xxxxxxxx


------------------------------------------------------------------------------


  _______________________________________________
  netcdfgroup mailing list
  netcdfgroup@xxxxxxxxxxxxxxxx
  For list information or to unsubscribe,  visit: 
http://www.unidata.ucar.edu/mailing_lists/
  • 2014 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: