[GRASS5] Grass 5.3 on Mac OSX

I read all of the newest discussion with interest. First, thanks Markus for making an updated 5.7 available in binary form. I am showing this around and people here in Valencia are very interested.

Second, several people (including Scott, with whom I've corresponded a bit directly) seemed interested in the Mac OSX binaries I compiled for 5.3.

In response to Jens, putting something onto fink is somewhat more involved than simply sending something in. It is not exactly like contributing to a CVS, but is managed to a considerable degree (..and this is a good thing). Also, to put something onto fink, you need to make a fink.info shell script that will set up ./configure, download the source, and compile it. I can read through these and more or less make sense of them, but don't think I could create one that works right without a lot more effort than I have time to contribute right now. There is already a fink maintainer for GRASS who has been pretty helpful in keeping the current stable version available there.

On the other hand, I could simply create a tarball of the user/local/grass5 directory and /user/local/bin grass files (grass5, gmake5 and gmakelink5 I think), gzip them and send them to someone if they want them. Are there any other files I need to include?

Before doing this, I have a question and a suggestion for 5.3 and all versions.

Suggestion: Right now, 5.0.x and 5.3 both create grass5 directories and install themselves into /usr/local/bin as grass5. I much prefer the way Markus has set up 5.7. It installs in /usr/local/grass57 AND in /usr/local/bin as grass57. This way, someone can install a new version without overwriting an older one. Currently, can only avoid this by changing both the /bin/ and /prefix/ directories in ./config. You can also easily choose which version you want to run at a particular time without trying to remember a special path.

Question: After the fact can I change the name of /usr/local/bin/grass5 to /usr/local/bin/grass53? Same for gmake5 and gmakelink5 files, and /usr/local/grass5 directory? Or will this completely confuse GRASS? This way, a tarball I create wouldn't overwrite someone's existing grass 5.0.x files when untarred.

In any case, I think GRASS is a great product and am happy to help with it in the ways I can.

Michael Barton

____________________
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

Michael Barton wrote:

On the other hand, I could simply create a tarball of the
user/local/grass5 directory and /user/local/bin grass files (grass5,
gmake5 and gmakelink5 I think), gzip them and send them to someone if
they want them. Are there any other files I need to include?

gmake5 and gmakelinks5 are of no use without the source code; there is
little point in including them in a binary distribution.

Question: After the fact can I change the name of /usr/local/bin/grass5
to /usr/local/bin/grass53?

Yes.

Same for gmake5 and gmakelink5 files,

Yes, but probably not relevant; see above.

and /usr/local/grass5 directory?

Yes, but:

1. You need to change the value of GISBASE in the grass5 script.

2. gmake5/gmakelinks5 won't work correctly; they will use the original
paths which are embedded into Makefile and src/CMD/head/head.<arch> by
the configure script. But, again, probably not relevant; see above.

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

Hello
Just catching up on some old e-mails from when I was away for a while:

Michael Barton wrote:
[...]

Suggestion: Right now, 5.0.x and 5.3 both create grass5 directories and
install themselves into /usr/local/bin as grass5.

I think that counts as a bug but 5.3 is only experimental and has only
been in existence as a separate version number for a few months so there
is plenty of time to fix it.

I much prefer the way
Markus has set up 5.7. It installs in /usr/local/grass57 AND in
/usr/local/bin as grass57.

Yes, although it is not historically consistent (GRASS 4.3 is started by
typing grass4.3 i.e. with a decimal point in the name). However most of
Europe uses a comma (,) rather than a full stop (.) for a decimal
point---perhaps that was the reason it was dropped, to avoid any
potential confusion? Markus?

This way, someone can install a new version
without overwriting an older one. Currently, can only avoid this by
changing both the /bin/ and /prefix/ directories in ./config. You can
also easily choose which version you want to run at a particular time
without trying to remember a special path.

Question: After the fact can I change the name of /usr/local/bin/grass5
to /usr/local/bin/grass53? Same for gmake5 and gmakelink5 files, and
/usr/local/grass5 directory? Or will this completely confuse GRASS?

Yes they should probably be changed although it is arguable if gmake5
and gmakelinks5 should/need to be changed as they are only used for
re-compling modules. I feel it should probably be grass54 or grass5.4
rather than grass53, as 5.3 and 5.4 are the experimental and stable
lines of essentially the same version and there may be no point in
changing the name of the startup script suddenly when we release the
stable version.

By the same logic the startup script for 5.7 should actually be called
grass58? I may well have missed something in the logic of my thinking
here; what do other people think?

This way, a tarball I create wouldn't overwrite someone's existing
grass 5.0.x files when untarred.

I definitely think the 5.3 startup script should have a different name
from the 5.0 one and unless there are objections I will see that it is
changed before the 5.3.0 release is made.

Paul

On Sun, Dec 07, 2003 at 10:31:14PM +0000, Paul Kelly wrote:

Hello
Just catching up on some old e-mails from when I was away for a while:

Michael Barton wrote:
[...]
> Suggestion: Right now, 5.0.x and 5.3 both create grass5 directories and
> install themselves into /usr/local/bin as grass5.

I think that counts as a bug but 5.3 is only experimental and has only
been in existence as a separate version number for a few months so there
is plenty of time to fix it.

> I much prefer the way
> Markus has set up 5.7. It installs in /usr/local/grass57 AND in
> /usr/local/bin as grass57.

Yes, it should be changed to 'grass53' IMHO (in fact I have solved
it like that for month in my own installation).

Yes, although it is not historically consistent (GRASS 4.3 is started by
typing grass4.3 i.e. with a decimal point in the name). However most of
Europe uses a comma (,) rather than a full stop (.) for a decimal
point---perhaps that was the reason it was dropped, to avoid any
potential confusion? Markus?

I didn't see to much point in keeping the dot.

> This way, someone can install a new version
> without overwriting an older one. Currently, can only avoid this by
> changing both the /bin/ and /prefix/ directories in ./config. You can
> also easily choose which version you want to run at a particular time
> without trying to remember a special path.
>
> Question: After the fact can I change the name of /usr/local/bin/grass5
> to /usr/local/bin/grass53? Same for gmake5 and gmakelink5 files, and
> /usr/local/grass5 directory? Or will this completely confuse GRASS?

Yes they should probably be changed although it is arguable if gmake5
and gmakelinks5 should/need to be changed as they are only used for
re-compling modules. I feel it should probably be grass54 or grass5.4
rather than grass53, as 5.3 and 5.4 are the experimental and stable
lines of essentially the same version and there may be no point in
changing the name of the startup script suddenly when we release the
stable version.

Why not? I find it confusing to type 'grass54' if it starts 5.3.

By the same logic the startup script for 5.7 should actually be called
grass58? I may well have missed something in the logic of my thinking
here; what do other people think?

I don't like that too much.

There is always a period of testing after creating a release. So
there is time (weeks usually) to understand that a version was
changed.

But the next 5.7 release will be called 5.7.0. So, in 1-10 years,
when 5.8 is on the way, we'll call it 5.8.0.

> This way, a tarball I create wouldn't overwrite someone's existing
> grass 5.0.x files when untarred.

I definitely think the 5.3 startup script should have a different name
from the 5.0 one and unless there are objections I will see that it is
changed before the 5.3.0 release is made.

Let's change (also gmake53 and gmakelinks53).

Markus

Markus Neteler wrote:

> > This way, a tarball I create wouldn't overwrite someone's existing
> > grass 5.0.x files when untarred.
>
> I definitely think the 5.3 startup script should have a different name
> from the 5.0 one and unless there are objections I will see that it is
> changed before the 5.3.0 release is made.

Let's change (also gmake53 and gmakelinks53).

gmake5 and gmakelinks5 shouldn't be installed; they can always be run
from the bin.<arch> directory.

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

On Tue, 9 Dec 2003, Glynn Clements wrote:

Markus Neteler wrote:

> > > This way, a tarball I create wouldn't overwrite someone's existing
> > > grass 5.0.x files when untarred.
> >
> > I definitely think the 5.3 startup script should have a different name
> > from the 5.0 one and unless there are objections I will see that it is
> > changed before the 5.3.0 release is made.
>
> Let's change (also gmake53 and gmakelinks53).

gmake5 and gmakelinks5 shouldn't be installed; they can always be run
from the bin.<arch> directory.

OK but the same variable set in the configure script ${NAME_VER} is used
in all these so the simplest thing is just to change it once, in
configure. In GRASS 4.3 the other scripts were called gmake4.3 and
gmakelinks4.3.

The following sed construction seems to get us the major and
minor version numbers with no decimal point between them:
echo 5.3-cvs | sed 's/\.//' | sed 's/[-\.].*//'
gives 53 as does
echo 5.3.0 | sed 's/\.//' | sed 's/[-\.].*//'

If nobody spots any potential problems with this I will go ahead and
commit it.

Paul