Re: [BUGS] BUG #3909: src\tools\msvc\clean.bat clears parse.h file

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Dave Page <dpage(at)postgresql(dot)org>
Cc: Pavel Golub <pavel(at)gf(dot)microolap(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [BUGS] BUG #3909: src\tools\msvc\clean.bat clears parse.h file
Date: 2008-02-06 12:59:54
Message-ID: 20080206125954.GG4714@svr2.hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On Tue, Feb 05, 2008 at 09:47:16PM +0000, Dave Page wrote:
> On Feb 5, 2008 5:56 PM, Magnus Hagander <magnus(at)hagander(dot)net> wrote:
> >
> > Dave Page wrote:
> > > On Feb 5, 2008 3:24 PM, Magnus Hagander <magnus(at)hagander(dot)net> wrote:
> > >> On Mon, Jan 28, 2008 at 06:27:05PM +0000, Pavel Golub wrote:
> > >> I think a better solution is to add a parameter to clean.bat to make it
> > >> work like "make clean" does. So you'd to "clean" when you mean "make
> > >> clean", and "clean dist" when you mean "make distclean".
> > >>
> > >> Thoughts on this?
> > >
> > > Pretty sure I griped at you before about this, because when it removes
> > > it, it fails to rebuild it the next time round, even on in an env like
> > > mine which can build from CVS perfectly well. More than once I've had
> > > to unpack the tarball again having run a clean.
> >
> > Uh, that would be a different issue, and I thought that one was fixed. I
> > certainly clean/rebuild a lot, and it works just fine with the stuff
> > coming out of cvs.
> >
> > The problem comes from if you remove *one* of the files but not *all* of
> > them. We only trigger on one of them (unlike the makefile which triggers
> > on all). But as long as they are all removed, it should be ok.
> >
> > Can you confirm if you actually still have that problem with 8.3.0?
>
> Yup - run clean.bat, and then build.bat and the resulting build fails
> because parser/parse.h is missing. Thats with the 8.3.0 tarball, which
> built just fine prior to running clean. Bison and flex are in the
> path.

I've managed to reproduce this now, and it's way more broken than I
thought. In fact, clean.bat simply does not work. It seems the batch
processor falls over *badly* when dealing with so many "call" statements. I
put in some "echo 1", "echo 2" etc to see in which order i runs the bat
file. I put them in from top to bottom, but the execution order came out as
0,5,6,7,8,1,5,6,7,8,7,8,2,3,4,5,6,7,8. Which obviously is less than
perfect.

I've redone a clean.bat now that inlines the deletes, and it seems to be
working better. I'll also add the "clean dist" stuff so it's possible to
clean/rebuild without bison/flex, and then commit this.

//Magnus

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Gevik Babakhani 2008-02-06 13:59:31 possible bug windows setup
Previous Message Mike Dowling 2008-02-06 12:26:35 Vers. 8.3.0: "make check" fails dismally

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2008-02-06 13:49:25 Re: PostgreSQL 8.4 development plan
Previous Message Simon Riggs 2008-02-06 12:01:23 Re: PostgreSQL 8.4 development plan