[GRASS5] Mac OSX binary install directions

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/&gt; 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/R

Next, 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 you

The 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/bin

I 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/grass57

mkdir ~/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 gimp

10) 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

On Dec 11, 2003, at 10:11 AM, Michael Barton wrote:

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/R

Next, 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 you

The GRASS website has a useful R primer[3].

Why did you not install from fink?

This is not at all a criticism, but rather a legitimate query. It has been my experience that one of the major sources of confusion with OSX is that there are several options for installing unix software (and the fact that some of them work better for particular packages than others).

------------------------------------------------------------------------
Kirk R. Wythers tel: 612.625.2261
Dept. of Forest Resources fax: 612.625.5212
University of Minnesota email: kwythers@umn.edu
------------------------------------------------------------------------

Hello Michael
Just a quick correction below:

On Thu, 11 Dec 2003, Michael Barton wrote:

[...]

***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)

GRASS 5.3 will run fine without an external copy of PROJ.4 being installed
and in fact will be better in some circumstances as there are a few bugs /
features we have fixed but are not in remotesensing.org PROJ:
krovak projection axis orientation
error in projection to and from latitude /longitude when there is a
nadgrids line in the PROJ_INFO file (this affects quite a lot of modules,
r.sun etc.)

However PROJ.4.4.7 can handle datum transformation using NTv2 gridshift
files while the GRASS PROJ version hasn't been updated to this level yet.

I would like to sort out some of these issues before doing a 5.3.0 release

Paul

I made a mistake in my addendum to Hamish's directions for installing GRASS binaries. Thanks to Paul Kelly for pointing this out. Sorry for any confusion.

On Friday, December 12, 2003, at 05:21 PM, Paul Kelly wrote:

Hello Michael
Just a quick correction below:

On Thu, 11 Dec 2003, Michael Barton wrote:

[...]

***Basic requirements for installing GRASS 5.3 binaries on OSX***

I MEANT to say

***Basic requirements for installing GRASS 5.7 binaries on OSX***

GRASS 5.3 does not need either GDAL or PROJ4 to run (though you will want GDAL for import/export). Also, as Paul Kelly points out, PROJ4 may be a problem for GRASS 5.3 (though it hasn't been for me so far).

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)

GRASS 5.3 will run fine without an external copy of PROJ.4 being installed
and in fact will be better in some circumstances as there are a few bugs /
features we have fixed but are not in remotesensing.org PROJ:
krovak projection axis orientation
error in projection to and from latitude /longitude when there is a
nadgrids line in the PROJ_INFO file (this affects quite a lot of modules,
r.sun etc.)

However PROJ.4.4.7 can handle datum transformation using NTv2 gridshift
files while the GRASS PROJ version hasn't been updated to this level yet.

I would like to sort out some of these issues before doing a 5.3.0 release

Paul

____________________
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

On Dec 12, 2003, at 10:11 AM, Kirk R. Wythers wrote:

On Dec 11, 2003, at 10:11 AM, Michael Barton wrote:

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/R

Next, 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 you

The GRASS website has a useful R primer[3].

Why did you not install from fink?

This is not at all a criticism, but rather a legitimate query. It has been my experience that one of the major sources of confusion with OSX is that there are several options for installing unix software (and the fact that some of them work better for particular packages than others).

I don't like using fink unless I **have** to. Otherwise, I end up with multiple versions of applications and libraries, and conflicts between versions. For example, if I already have python2.3 on my system, I don't need fink installing another one. I have installed GRASS from cvs on my powerbook without any use of fink, so it is not necessary.

C.
--
Christopher J. Fonnesbeck ( c h r i s @ f o n n e s b e c k . o r g )
Georgia Cooperative Fish & Wildlife Research Unit, University of Georgia

[Setting up GRASS on Mac OSX]

>> 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.

...

Why did you not install from fink?
This is not at all a criticism, but rather a legitimate query.

Two reasons:

a) I figured the R team had already gone to the trouble to Aqua-fy it,
and the "offical" port would be better supported and more
Mac-integrated.

b) The r-base package isn't yet present in either Fink's stable or
unstable "current-10.3" branch.

I still think the Fink project is brilliant though.

It has been my experience that one of the major sources of confusion
with OSX is that there are several options for installing unix
software (and the fact that some of them work better for particular
packages than others).

Welcome to the wonderful world of UNIX-powered. Confusing versions of
the same thing for over 30 years. Still, I'd rather have 3 chances of
finding a version that does exactly what I want versus 1 generic version
that only partially does. That doesn't mean you can't put together an
intergrated package with the components pre-chosen by an expert of
course.

And if you think the tyranny of choice is bad on OSX, you should give
Linux a try... eg:

[Debian]$ apt-cache search editor | wc -l
    384

regards,
Hamish

Hamish,

I have done this, but how does one invoke the "Aqua R" from within GRASS using the 'StartR' application?

Tom

Hamish wrote:

[Setting up GRASS on Mac OSX]

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.
       

...

Why did you not install from fink?
This is not at all a criticism, but rather a legitimate query.
   
Two reasons:

a) I figured the R team had already gone to the trouble to Aqua-fy it,
and the "offical" port would be better supported and more
Mac-integrated.

b) The r-base package isn't yet present in either Fink's stable or
unstable "current-10.3" branch.

I still think the Fink project is brilliant though.

It has been my experience that one of the major sources of confusion
with OSX is that there are several options for installing unix
software (and the fact that some of them work better for particular
packages than others).
   
Welcome to the wonderful world of UNIX-powered. Confusing versions of
the same thing for over 30 years. Still, I'd rather have 3 chances of
finding a version that does exactly what I want versus 1 generic version
that only partially does. That doesn't mean you can't put together an
intergrated package with the components pre-chosen by an expert of
course.

And if you think the tyranny of choice is bad on OSX, you should give
Linux a try... eg:

[Debian]$ apt-cache search editor | wc -l
   384

regards,
Hamish

_______________________________________________
grass5 mailing list
grass5@grass.itc.it
http://grass.itc.it/mailman/listinfo/grass5

--
Thomas E Adams
National Weather Service
Ohio River Forecast Center
1901 South State Route 134
Wilmington, OH 45177

EMAIL: thomas.adams@noaa.gov

VOICE: 937-383-0528
FAX: 937-383-0033

On Dec 16, 2003, at 3:11 AM, Hamish wrote:

Welcome to the wonderful world of UNIX-powered. Confusing versions of
the same thing for over 30 years. Still, I'd rather have 3 chances of
finding a version that does exactly what I want versus 1 generic version
that only partially does. That doesn't mean you can't put together an
intergrated package with the components pre-chosen by an expert of
course.

And if you think the tyranny of choice is bad on OSX, you should give
Linux a try... eg:

[Debian]$ apt-cache search editor | wc -l
    384

I agree. That is the kind of thing (actually is was the odd rpm that kept breaking Redhat), that drove me to FreeBSD several years ago. If you have not worked with FreeBSD, the ports system is wonderful. I think that the Fink project is trying to replicate FreeBSD ports, they just have a long way to go before Fink is as mature...

regards,
Hamish

------------------------------------------------------------------------
Kirk R. Wythers tel: 612.625.2261
Dept. of Forest Resources fax: 612.625.5212
University of Minnesota email: kwythers@umn.edu
------------------------------------------------------------------------

I have done this, but how does one invoke the "Aqua R" from within
GRASS using the 'StartR' application?

>[Setting up GRASS on Mac OSX]

>>>>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.
>>>>
>...

Step 3 continues,

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/R

[make sure /usr/local/bin in in your $PATH]

Next, 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 you

The GRASS website has a useful R primer.
http://grass.ibiblio.org/statsgrass/grass_geostats.html

good luck,
Hamish