What version of gmake were you using? I did try on solaris 2.7 and gmake 3.76.1 
and it worked fine.
Arundhati

Michael Hucka wrote:

> Pardon me if this is the wrong place to send reports of this nature.
>
> I've been trying to build Xerces 1.0.3 on a Solaris 2.7 box using GNU make,
> and ran into trouble with the Makefile.incl.  The problem was that make would
> generate an error when the recursive makefiles would finally reach a terminal
> directory and actually try to compile some files.  Here is an example:
>
>    make[6]: Entering directory 
> `/remote/projects/mws/src/xml/xerces/xerces-1_0_3/src/org/apache/xerces/dom/events'
>    if [ -n "" ]; \
>    then for i in ;do \
>         echo "make -C $i"; make -C $i; \
>         done; \
>    fi
>    /bin/sh: syntax error at line 1: `;' unexpected
>    make[6]: *** [dirs] Error 2
>
> I am not sure why this is happening, but it appears to center on the fact
> that when the following code in Makefile.incl is run in a leaf directory,
>
>     dirs::
>         @if [ -n "$(DIRS)" ]; \
>         then for i in $(DIRS);do \
>                 echo "$(MAKE) -C $$i"; $(MAKE) -C $$i; \
>              done; \
>         fi
>
> the DIRS is empty, and the shell (/bin/sh in this case) tries to parse
>
>     if [ -n "" ];
>     then for i in ;do
>                 ^^^^
>
> It looks like the shell isn't stopping when it hits
>
>     if [ -n "" ]
>
> but rather keeps going, encountering
>
>     for i in ;do
>
> and generating a syntax error.  It's been too long since I've done much shell
> script hacking, and I don't remember the parsing rules.  I would have thought
> that it would stop when the conditional failed, but apparently it doesn't
> (though maybe it's a quirk of the /bin/sh distributed with Solaris 2.7).
>
> My solution to this involved the following changes to Makefile.incl.  There
> are probably better solutions, but this seems to work.  (The make fails when
> it tries to deal with the docs, but that I think is a different problem.)
>
> Could this (or an equivalent fix) please be added to the Xerces source code
> base, so that future releases don't suffer from this problem?
>
> -----------------------------------------------------------------------------
> diff -c /projects/mws/src/xml/xerces/xerces-1_0_3/src/Makefile.incl 
> /projects/mws/src/xml/xerces/xerces-1_0_3/src/Makefile.incl.~1~
> *** /projects/mws/src/xml/xerces/xerces-1_0_3/src/Makefile.incl Wed Mar  8 
> 21:25:52 2000
> --- /projects/mws/src/xml/xerces/xerces-1_0_3/src/Makefile.incl.~1~     Wed 
> Mar  8 21:25:52 2000
> ***************
> *** 1,11 ****
>   # Decide if we're on unix or DOS
> ! # ifneq ($(findstring WIN,$(shell uname)),)
>   # DOS
> ! # CLPATHSEP := ;
> ! # else
>   # UNIX
>   CLPATHSEP := :
> ! # endif
>
>   #
>   # Define the environment commands and/or utilities
> --- 1,11 ----
>   # Decide if we're on unix or DOS
> ! ifneq ($(findstring WIN,$(shell uname)),)
>   # DOS
> ! CLPATHSEP := ;
> ! else
>   # UNIX
>   CLPATHSEP := :
> ! endif
>
>   #
>   # Define the environment commands and/or utilities
> ***************
> *** 88,110 ****
>
>   dirs::
>         @if [ -n "$(DIRS)" ]; \
> !       then \
> !               $(MAKE) subdirs; \
> !       fi; \
> !       $(MAKE) compile
> !
> ! subdirs::
> !       @for i in $(DIRS) ; do \
>                 echo "$(MAKE) -C $$i"; $(MAKE) -C $$i; \
> !       done
>
>   cleandirs::
>         @if [ -n "$(DIRS)" ]; \
> !       then \
> !               $(MAKE) subcleandirs; \
> !       fi; \
> !
> ! subcleandirs::
> !       @for i in $(DIRS);do \
>                 echo "$(MAKE) -C $$i clean"; $(MAKE) -C $$i clean; \
> !       done
> --- 88,101 ----
>
>   dirs::
>         @if [ -n "$(DIRS)" ]; \
> !       then for i in $(DIRS);do \
>                 echo "$(MAKE) -C $$i"; $(MAKE) -C $$i; \
> !            done; \
> !       fi
>
>   cleandirs::
>         @if [ -n "$(DIRS)" ]; \
> !       then for i in $(DIRS);do \
>                 echo "$(MAKE) -C $$i clean"; $(MAKE) -C $$i clean; \
> !            done; \
> !       fi
>
> -----------------------------------------------------------------------------
> Mike Hucka, Ph.D.   --    [EMAIL PROTECTED]    --    ph: 626.395.6818
>   Postdoctoral researcher, software developer, systems administrator
>     GENESIS Development Group, Division of Biology 216-76, Caltech

Reply via email to