[GRASS5] [bug #3033] (grass) Makefile has trouble with

Request Tracker grass-bugs at intevation.de
Fri Feb 25 17:27:00 EST 2005


this bug's URL: http://intevation.de/rt/webrt?serial_num=3033
-------------------------------------------------------------------------

Subject: Makefile has trouble with 

Platform: Solaris2.X/Sparc
grass obtained from: Trento Italy site
grass binary for platform: Compiled from Sources
GRASS Version: 6.00beta1,2

Hey folks,

This is somewhat of a followup to my previous whiney thread, but it's well defined enough that I thought it should go by itself.  Enough preamble.

Grass6 doesn't compile on my solaris 8 system.  There are a few survivable errors, but the biggest problem is that the makefiles call "install" which doesn't behave as it seems the makefile expects it to (or indeed as the man page expects it to).  In various places in the makefile, you get commands like this:

$(INSTALL) -m [123] [somefilename] [somedirname]/

This is *supposed* to do the following:
execute a "find" command on [somedirname]/[somefilename]
If file exists, issue a warning and overwrite
If file doesn't exist, just install.
What it actually does is:
If file exists, just install
If file does not exist, puke your guts out and die.

Apparently "find" which is called by "install" doesn't like not finding the file (even though this is expected) so it exits abnormally, causing "install" to do the same.  Also, there are some instances of:

$(INSTALL) -m [123] *.* [somedirname]/
or
$(INSTALL) -m [123] [somefilename] [somedirname]/[someotherfilename]

Apparently my version of install doesn't take wildcards, and doesn't like giving the installed file a different name than the original file.  My workaround for this has been to add to each makefile a hackneyed series of foreach loops, touch commands and mv commands to rename files at the end, but there has to be a better way around this.

It seems to me that "install" doesn't do anything, really, that "cp -f" wouldn't do.  Am I wrong about this?  Where is $(INSTALL) set to /sbin/install so I can change it?

Perhaps some change needs to be made to the makefiles to make them a bit more robust on solaris.  Or maybe I need to find newer versions of "find" and "install"... but where?

Thanks for any help,
Gilead Wurman
ASU Active Tectonics

-------------------------------------------- Managed by Request Tracker




More information about the grass-dev mailing list