[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Groff] building process stuck when building groff-current using Min
From: |
Keith MARSHALL |
Subject: |
Re: [Groff] building process stuck when building groff-current using MinGW |
Date: |
Fri, 7 Sep 2007 15:37:54 +0100 |
> > > mkdir -p -- D:/groff-cvs/share/groff/1.19 .3
> > > mkdir: cannot create directory `D:/groff-cvs/share/groff/1.19\001.3':
> > > No such file or directory
> >
> > This looks like a broken `cat' program on msys which doesn't handle
> >
> > version=`cat $(top_srcdir)/VERSION`
>
> This is line 49 in Makefile. Line 51 says,
>
> revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
>
> I wonder the meaning of $$.
As you correctly noted, in your follow up message, it's a requirement of
make's substitution mechanism, to get a single `$' into the command line.
> I tried this command in linux manually.
> After some experiment(revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$//'
> REVISION`, remove .& from the command), I found the pattern is not
> found. So... maybe the Makefile is also responsible?
So no, the Makefile is correct, in these two definitions.
However, your problem is quite specific, and I happen to have spent some
time analysing the particular circumstances which cause it. It is caused,
very specifically, by a command substitution of the form:
$ some command "anything`command producing CRLF output`anything" ...
I've grepped all the Makefiles in my build tree, and I can find only one
place where such a construct occurs:
$ grep -n '$(version)$(revision)' `find . -iname Makefile\*`
./doc/Makefile:79:<TAB>sed -e "s;@VERSION@;$(version)$(revision);" $< \
[...other matches, with no quoted substitutions, snipped...]
Note that, because of the definitions for version and revision, which you've
already specified, make will transform this into a form which triggers the
substitution bug in MSYS shell. Studying, your diagnostic, I see a stray
\01 byte inserted after your `$(version)' substitution, but not after the
`$(revision)' substitution. Since I know that the circumstances triggering
this bug are very specific, I can deduce:
1) The cat command being invoked by the `$(version)' substitution is *not*
the MSYS cat; it is a CRLF output format variant you've obtained from
some other source, and you need to get it out of the MSYS PATH.
2) The sed command used by the `$(revision)' substitution *is* the MSYS
sed, (or it is an alternative which produces LF only text output).
You might also like to try the new version of bash-3.1, for MSYS, which I
mentioned in an earlier post.
Regards,
Keith.
- [Groff] building process stuck when building groff-current using MinGW, Yu-ning Feng, 2007/09/06
- Re: [Groff] building process stuck when building groff-current using MinGW, Keith MARSHALL, 2007/09/06
- Message not available
- Re: [Groff] building process stuck when building groff-current using MinGW, Yu-ning Feng, 2007/09/06
- RE: [Groff] building process stuck when building groff-current using MinGW, Yu-ning Feng, 2007/09/07
- Re: [Groff] building process stuck when building groff-current using MinGW, Werner LEMBERG, 2007/09/07
- 回复: [Groff] building process stuck wh en building groff-current using MinGW, Yu-ning Feng, 2007/09/07
- Re: [Groff] building process stuck when building groff-current using MinGW, Yu-ning Feng, 2007/09/07
- Re: [Groff] building process stuck when building groff-current using MinGW,
Keith MARSHALL <=
- Re: [Groff] building process stuck when building groff-current using MinGW, Webb Roberts, 2007/09/07
- Re: [Groff] building process stuck when building groff-current using MinGW, Keith MARSHALL, 2007/09/07
- Re: [Groff] building process stuck when building groff-current using MinGW, Yu-ning Feng, 2007/09/08
- Re: [Groff] building process stuck when building groff-current using MinGW, Keith Marshall, 2007/09/08
- Re: [Groff] building process stuck when building groff-current, Larry Jones, 2007/09/08
- Re: [Groff] building process stuck when building groff-current, Werner LEMBERG, 2007/09/08
- Re: [Groff] building process stuck when building groff-current, Keith Marshall, 2007/09/08
- Re: [Groff] building process stuck when building groff-current, Keith Marshall, 2007/09/08
- Re: [Groff] building process stuck when building groff-current, Larry Jones, 2007/09/08
- Re: [Groff] building process stuck when building groff-current using MinGW, Yu-ning Feng, 2007/09/09