I have a build failure on OS X:

cp ../../include/Make/Dir.make 
/sw/build.build/grass64-x11-6.4.1-3/grass-6.4.1/dist.i386-apple-darwin10.8.0/modbuild/include/Make/
cp ../../include/Make/Doxygen.make 
/sw/build.build/grass64-x11-6.4.1-3/grass-6.4.1/dist.i386-apple-darwin10.8.0/modbuild/include/Make/
sed -E -e 's,@GRASS_LIB_PREFIX@,lib,g' 
-e 's,@GRASS_LIB_SUFFIX@,.dylib,g' 
-e 's,@GRASS_LIBRARY_TYPE@,shlib,g' 
-e 's,@GRASS_VERSION_MAJOR@,6,g' 
-e 's,@GRASS_VERSION_MINOR@,4,g' 
-e 's,@GRASS_VERSION_RELEASE@,1,g' 
-e 's,@GRASS_VERSION_DATE@,2011,g' 
-e 's#^ARCH_INC[[:space:]].*#& -I$(GISBASE)/include#g' 
-e 's#^ARCH_LIBPATH.*#& -L$(GISBASE)/lib#g' 
-e 's#^GISBASE.*#GISBASE = $(GRASS_APP)/Contents/MacOS#g' 
./../include/Make/Grass.make.in > 
/sw/build.build/grass64-x11-6.4.1-3/grass-6.4.1/dist.i386-apple-darwin10.8.0/modbuild/include/Make/Grass.make
/bin/sh: -c: line 4: unexpected EOF while looking for matching `''
/bin/sh: -c: line 5: syntax error: unexpected end of file
make[2]: *** [modbuild] Error 2
make[2]: Leaving directory 
`/sw/build.build/grass64-x11-6.4.1-3/grass-6.4.1/macosx/modbuild'

My "make" command is the latest upstream version of that program (3.82) 
supplied by fink. The problem goes away if I downgrade it to fink's make-3.81 
or use apple's (3.81 from OS X 10.6) instead. The problem appears to be just 
after the above "sed" command, where macosx/modbuild/Makefile has:

    @# until I figure out how to get sed to replace with multiple lines in a
    @# makefile, GRASS_APP required for modbuild, ie no default to /Applications
    @#-e 's#^GISBASE.*#ifdef GRASS_APP\
    @#GISBASE = $$(GRASS_APP)/Contents/MacOS\
    @#else\
    @#GISBASE = $(INST_DIR_MACOSX)\
    @#endif#g'
    @# html.make needs a little change

Why is it even looking at the syntax of a comment? The commented-out section is 
confusing because it's a hybrid of makefile-recipe quiet tags (@), makefile 
commenting (#), and makefile and shell line-continuations (). The new make is 
known to be stricter about several types of makefile syntax, so maybe you've 
triggered one of those? The use of the apparently non-standard "@#" in general 
does not seem to be the problem, or else the modbuild recipe would have crashed 
even earlier, so it must be related to the multilining in them. Changing the 
commented-out sed chunk to use standard commenting (non-indented leading #) 
works for me:

    @# until I figure out how to get sed to replace with multiple lines in a
    @# makefile, GRASS_APP required for modbuild, ie no default to /Applications
#    -e 's#^GISBASE.*#ifdef GRASS_APP\
#    GISBASE = $$(GRASS_APP)/Contents/MacOS\
#    else\
#    GISBASE = $(INST_DIR_MACOSX)\
#    endif#g'
    @# html.make needs a little change

dan

 --
Daniel Macks
[email protected]
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to