[GRASS5] Fwd: uploading your binaries

Glynn Clements glynn.clements at virgin.net
Tue Mar 2 21:29:12 EST 2004


Scott Mitchell wrote:

> I'm trying to figure out how (if?) we could easily provide the unix 
> version of TclTk to Mac OS X users if they don't have a packaging 
> system installed.  I know, there is also the native Aqua Tcl/Tk they 
> can install, but that doesn't work with a GRASS binary distribution 
> that was compiled for the UNIX model of TclTk.  Many users will have 
> TclTk installed as part of some packaging system like fink, or could 
> add it to their installation relatively easily, but the idea here is 
> that relative newcomers to Unix software on the Mac platform might be 
> able to install a grass binary distribution with a minimum of 
> "overhead" requirements.  We've handled GDAL by including a shared 
> library in $GISBASE/lib, Paul has mentioned that this could be done 
> with libproj too, now I'm wondering about Tcl/Tk.
> 
> I figured that the simplest way might be to compile it and then provide 
> a tarball of the installed files with instructions on how to expand it 
> on to the user's system, with a recommendation that it go under 
> /usr/local - this keeps things pretty simple.
> 
> I imagine this would work, but it got me thinking.... TclTk only uses 
> the bin, include, lib, and man directories for installation - if it was 
> expanded into the GISBASE directory, would that work?  The idea would 
> be to ensure GRASS/tcltkgrass/NVIZ would work on the system with 
> minimum change to the rest of the user's system.  And then we also make 
> sure that the version of tcl/tk matches what the nviz compilation is 
> expecting, and don't have to give instructions re: changing 
> LD_LIBRARY_PATH, etc...
> 
> Or is that like playing with a hornet's nest?   I vaguely recall 
> discussion of problems with including tcl headers in the distribution, 
> but don't remember the context and don't really trust the memory.

It should work, although it may be necessary to explicitly set
TCL_LIBRARY and/or TK_LIBRARY.

But the same could be said of any other library. Do we include
everything which is listed in REQUIREMENTS.html? With more specialised
libraries such as GDAL and PROJ, there's a reasonable case for
bundling, as few systems will use these libraries for anything other
than GRASS (plus the fact that GDAL is likely to have even more
dependency issues than GRASS).

But Tcl/Tk is a fairly standard library, and is quite likely to be on
the system already. If we bundle that, where does it end? Are we going
to start bundling OpenGL or X11?

Personally, I don't think that we should be bundling anything for
which there is an existing version which could reasonably be
considered "standard". That probably includes zlib, curses, X, Tcl/Tk,
OpenGL, PNG, JPEG, TIFF, PostgreSQL and FreeType. It may or may not
include FFTW, BLAS/LAPACK, GDAL and PROJ.

-- 
Glynn Clements <glynn.clements at virgin.net>




More information about the grass-dev mailing list