[GRASS-dev] [bug #5255] (grass) Solaris 10 includes fail to copy
Glynn Clements
glynn at gclements.plus.com
Fri Nov 3 18:15:05 EST 2006
Request Tracker wrote:
> this bug's URL: http://intevation.de/rt/webrt?serial_num=5255
> -------------------------------------------------------------------------
>
> Subject: Solaris 10 includes fail to copy
>
> Platform: Solaris2.x/Sparc
> grass obtained from: Trento Italy site
> grass binary for platform: Compiled from Sources
> GRASS Version: 6.2.0
> make[1]: Entering directory `/usr/local/src/grass-6.2.0/lib'
> /usr/local/src/grass-6.2.0/install-sh -c -m 644 ../include/*.h /usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/include/grass/
> /usr/local/src/grass-6.2.0/install-sh -c -m 644 ../include/vect/*.h /usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/include/grass/vect/
> make[2]: Entering directory `/usr/local/src/grass-6.2.0/lib/datetime'
> copy.c:7:28: grass/datetime.h: No such file or directory
> bash-3.00# ls -R /usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/
> /usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/include:
> grass
> /usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/include/grass:
> CC.h vect
> /usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/include/grass/vect: dig_defines.h
$(INSTALL) isn't guaranteed to work for multiple files. Clearly, on
this platform, it *doesn't* work for multiple files.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> HACK FIX
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>
> cp include/*.h /usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/include/grass
> cp include/vect/*.h /usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/include/grass/vect/
IMHO, the correct fix is:
- $(INSTALL) -m 644 ../include/*.h $(GISBASE)/include/grass/
- $(INSTALL) -m 644 ../include/vect/*.h $(GISBASE)/include/grass/vect/
+ for file in ../include/*.h ; do $(INSTALL) -m 644 $$file $(GISBASE)/include/grass/ ; done
+ for file in ../include/vect/*.h ; do $(INSTALL) -m 644 $$file $(GISBASE)/include/grass/vect/ ; done
"cp" preserves the file's permissions, which isn't a good idea (e.g.
if the files were checked out with restrictive permissions, they will
be installed that way).
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> Not sure if this is a problem but it looks odd
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>
> make[3]: Entering directory `/usr/local/src/grass-6.2.0/db/base'
> Makefile:22: warning: overriding commands for target `/usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/bin/db.columns'
> ../../include/Make/Module.make:31: warning: ignoring old commands for target `/usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/bin/
> GISRC=/usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/demolocation/.grassrc62 GISBASE=/usr/local/src/grass-6.2.0/dist.sparc-sun-so
> rc/grass-6.2.0/dist.sparc-sun-solaris2.10/bin:$PATH LD_LIBRARY_PATH="/usr/local/src/grass-6.2.0/dist.sparc-sun-solaris2.10/lib:" LC_ALL=
> 0/dist.sparc-sun-solaris2.10/bin/db.columns --html-description | grep -v '</body>\|</html>' > db.columns.tmp.html ; true
> /bin/sh: !: not found
> /bin/sh: !: not found
> /bin/sh: !: not found
Do you get correct HTML documentation?
I interpret the above error as suggesting that the shell doesn't
support "!" as in "if ! grep ...". If you have bash installed, you
could try e.g. "make SHELL=/usr/local/bin/bash".
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list