Hamish and others,
I've been messing with and installing GRASS on OSX for awhile now. Here are a couple of clarifications based on my experiences.
Here a some of my notes which may be useful for your write-up.
This is for a binary only install.
***Basic requirements for installing GRASS 5.3 binaries on OSX***
X11 (note different versions for OSX 10.2 and 10.3)
tcltk for X11
That's it.
HOWEVER (a big however). You will WANT to have GDAL installed for import/export and may want a few other items installed (such as PostgreSQL).
***You can get X11 in a variety of flavors from a variety of sources. I use X11 from Apple. Also install the X11 SDK file (almost hidden on the X11 install page).
****tcltk for X11 I have only been able to find in source version (from the main tcltk web page) or on FINK. If there is another version out there in binary, it would be very good to know where it is.
See Hamish's notes below for getting and installing FINK. Note: you MUST also install the Apple X11 SDK for FINK to work correctly (otherwise it doesn't realize you have an existing X11 installation and tries to install another one, though it isn't supposed to do this). Also look at Hamish's notes for different shell login scripts.
On OSX 10.2, fink installs and automatically fixes the login script to correctly add path names for fink-installed programs like tcltk. If you want to also want to have a path set for GRASS installed in /usr/loca/bin (the default for binaries), you will need to add this to your path. You can do this in Fink Commander preferences or by adding this directory to the path line in the file /sw/bin/init.csh. Note you will need su privileges to do this.
On OSX 10.3, it is more complicated as Apple has switched from tcshell to bash. First, you need to make the path modification to init.sh (instead of init.csh). Second, you will need to add the line "source /sw/bin/init.sh" to the file /etc/.bashrc. (I do it this way to make sure that the new path is available to all users of a system).
Using Fink Commander, install tcltk. As Hamish points out, you can also install other related programs like R, GIMP, XFIG, etc.
**** If you install PostgreSQL, I recommend installing it from Marc Liyange's page <http://www.entropy.ch/software/macosx/> rather than Fink. The fink install has some permission problems. These are fixable, but complicate the installation. He also includes a script to automatically start PostgreSQL each time you start your computer and links to the excellent PHP administrator for PostgreSQL (install Marc's PHP first).
****You can install GDAL via fink, but it is very dated at present. Marcus has provided a great set of GDAL binaries with OGR support. I don't know where they will be posted however, if Marcus takes down his temporary site for them. If you install these, make the link file as Hamish suggests below (this is more important for GRASS 5.3, but you might as well do it).
Here are a couple additions to Hamish's excellent directions for installing GRASS 5.7 binaries
***Basic requirements for installing GRASS 5.3 binaries on OSX***
X11 (note different versions for OSX 10.2 and 10.3)
tcltk for X11 (required for the tcltk interface)
GDAL with OGR (GRASS 5.3 won't run without this)
PROJ4 (GRASS 5.3 won't run without this)
That's it. Again, you might want to install a series of related applications.
GRASS 5.7 on OSX 10.3
1) Install Apple's X11 and friends
Our new system came with OSX 10.3 preinstalled, and past the point of custom
install so I had to download Apple's X11 from their website[1]. After
installing that, I headed over to Applications/Installers/Developer Tools
and double clicked Developer.mpkg; from the custom install list I
choose Devel Tools Software, MacOSX SDK, BSD SDK, and X11 SDK.
You've got to have X11 SDK install for Fink to work (needed for installing tcltk--at least by me).
2) Setup a root password
Open Apps/Utilities/Terminal and type 'sudo su' and set a strong password.
As Hamish notes, this is optional
3) Install R-statistics[2]
This is optional, but useful for geostats. Click on CRAN, choose a mirror,
click on R Binaries, macosx, and download RAqua.dmg. Double click on that
package and install tcltk, libreadline, and finally RAqua. This installs
the OSX port of R to Applications/StartR. I made a link to this application
so I could start R from the command line by typing "R":
(as root)
mkdir /usr/local/bin (if it doesn't already exist)
ln -s /Applications/StartR.app/Contents/MacOS/StartR /usr/local/bin/RNext, start R and type:
install.packages("akima")
install.packages("VR")
install.packages("GRASS")
install.packages("RODBC")
install.packages("grasper")
install.packages("mgcv")
install.packages("shapefiles")
.. and any other packages that might look interesting to youThe GRASS website has a useful R primer[3].
See my notes above for additional information on bash shell scripts for fink and correct paths using OSX 10.3
Also note that this is different for OSX 10.2 because it uses tcshell (also see above)
I would change these X startup files AFTER installing FINK because FINK changes some of them during its install.
4) Setup X startup files.
OSX's Terminal looks for .bash_profile but not .bashrc. Apple's X11 looks for
.bashrc but not .bash_profile. Solution (kludge) follows:.bash_profile:
. ~/.bashrc # does this need to be a hard path for the GRASS init script?.bashrc:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ls='ls -FG'
alias ll='ls -la'
alias la='ls -A'
alias dir='/bin/ls'
PATH="$PATH":/usr/local/binI also disabled the xterm& in /etc/X11/xinit/xinitrc.
5) Install Fink[4]
Download & run the Fink Installer. Double click on "Fink 0.6.2 Installer.pkg"
and after that is setup, drag the FinkCommander folder to your desktop.
Check this line has been added to all users' .bashrc:
. /sw/bin/init.sh
I ran 'fink configure' to setup which Fink mirror to talk to, but that's not
a strict requirement.
May need to log out & back in to take effect.6) Run FinkCommander
Setup to use stable packages, it has already guessed to use the 10.3 branch.
This branch is missing some packages as of this writing, but saves time vs.
compiles. I installed: wget, gimp, dlcompat-shlibs (needed for Gimp),
tcklk (yes, again), and gmt. I would have installed nedit and octave if they
were in the stable archive at the time in binary form. Gimp brings down a lot
of goodies like the netpbm tools and libpng which will probably be needed
later. Someone noted about needing the TclTk from unstable for compile??7) Install PROJ.4 and GDAL
Download[5] and follow Markus's instructions to install PROJ and GDAL.
Then as root, make the following two links:
ln -s /sw/lib/libgdal.1.1.9.dylib /usr/local/lib/libgdal.1.1.dylib
Forget what the second one was, thought it for Proj. What breaks?
I can answer this one as I posted a note on this a few days ago.
For PROJ4, you need to
1. un-gzip the file. It produces a mirror of the /usr directory with all the PROJ files in the proper places
2. manually copy all the files to their corresponding directories in /usr. For example, if you un-gzipped PROJ4 into temp, copy all files in /temp/usr/lib to /usr/lib. The primary offending file that seems to be left out and not installed properly is libproj.dylib. GRASS 5.3 will not run if it cannot find this file.
Important clarification for GDAL. Hamish's link assumes a fink install for GDAL (all fink stuff install into /sw). I don't know what version fink now has. A few weeks back, it was an older one and not 1.1.9 and did NOT include OGR. As Marcus' GDAL binary is currently set up, it has an install script to place all of its pieces in the /usr/* directories (not in the /sw/* directories). You will need to make the link noted by Hamish because the current build of GRASS 5.3 looks for libgdal.1.1.dylib. This file does not exist in the newer version provided by Marcus (ver. 1.9). Hence, you need to make link to /usr/lib/libgdal.1.1.9.dylib. HOWEVER, this link SHOULD be
ln -s /usr/lib/libgdal.1.1.9.dylib /usr/local/lib/libgdal.1.1.dylib
because libdgal.1.1.9.dylib is found in /usr/lib and not in /sw/lib
GRASS 5.3 will not run if it cannot find libgdal.1.1.dylib.
These are probably better dealt with by getting /sw/lib added to OSX's
ld path, where ever that lives.
See note above. The best (fink) way to do this is to modify the path line in /sw/bin/init.csh (for OSX 10.2) or /sw/bin/init.sh (for OSX 10.3). Then add the source /sw/bin/init.csh (for 10.2) or source /sw/bin/init.sh (for 10.3) to the .cshrc file (for 10.2) or .bashrc file (for 10.3).
8) Install GRASS
Download[5] and follow Markus's instructions. I found it better to use
wget instead of Safari to do the download to keep the MD5 hash the same
as Safari automatically unpacks the archive.
(as root)
grass57-20_11_2003-powerpc-apple-darwin6.8-install.sh \
grass57-20_11_2003-powerpc-apple-darwin6.8-bin.tar.gz \
/usr/local/grass57mkdir ~/grassdata
and install the Spearfish, Leics, and Radim's g51test data sets there.9) Add links to the X11 menu
Start X11 (Apps/Utilities), choose Customize.. from the Applications menu.
Add Item, Add Item. Double click on blanks & fill in:
Name Command
GRASS 5.7 xterm -geometry 123x25+5+400 -e grass57
The GIMP gimp10) Enjoy. Everything seems to work, even NVIZ.
Indeed it does. I have now installed this on 10.2 and 10.3 systems.
I hope this helps
[1] macOS Sequoia - Apple
[2] http://www.r-project.org/
[3] http://grass.ibiblio.org/statsgrass/grass_geostats.html
[4] http://fink.sourceforge.net/
[5] http://mpa.itc.it/markus/grass57/macosx/ [TEMPORARY]Hamish
____________________
C. Michael Barton, Professor
Department of Anthropology
PO Box 872402
Arizona State University
Tempe, AZ 85287-2402
USA
Phone: 480-965-6262
Fax: 480-965-7671