Обсуждение: MSVC build scripts status

Поиск
Список
Период
Сортировка

MSVC build scripts status

От
Andrew Dunstan
Дата:
I have reduced the build and regress .bat files to one liners:

build.bat:
@perl build.pl %*

vcregress.bat:
@perl vcregress.pl %*

These mirror exactly what the buildfarm will do when it's modified.

In fact, an unmodified buildfarm client run goes through cleanly with 
these files.

However, neither the new nor the old scripts run ECPG tests on my setup, 
so I have been unable to test that.

I can commit the new scripts now or we can wait till the ECPG situation 
is cleared up.

cheers

andrew


Re: MSVC build scripts status

От
Tom Lane
Дата:
Andrew Dunstan <andrew@dunslane.net> writes:
> However, neither the new nor the old scripts run ECPG tests on my setup, 
> so I have been unable to test that.

I'm confused.  We have MSVC buildfarm animals that show green, so aren't
they getting through ECPG tests?

> I can commit the new scripts now or we can wait till the ECPG situation 
> is cleared up.

If what you're trying to say is "I can commit this except that it'll
break the MSVC buildfarm members", my answer is no, don't do that.
        regards, tom lane


Re: MSVC build scripts status

От
Magnus Hagander
Дата:
On Mon, Sep 24, 2007 at 11:51:47PM -0400, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
> > However, neither the new nor the old scripts run ECPG tests on my setup, 
> > so I have been unable to test that.
> 
> I'm confused.  We have MSVC buildfarm animals that show green, so aren't
> they getting through ECPG tests?

Yeah, I'm confused too. I thought they did, but looking at my own animal
(Skylark) it seems not to be running any ecpg checks?

Oh, and I'm now seeing failures on my dev box with ECPG on the MSVC build
using "the old way" (.bat-files):   array_of_struct.c   array_of_struct.pgc(26): error C2065: 'customer' : undeclared
identifier  array_of_struct.pgc(26): error C2146: syntax error : missing ';' before identifier 'custs1'
array_of_struct.pgc(26):error C2065: 'custs1' : undeclared identifier   array_of_struct.pgc(26): error C2109: subscript
requiresarray or pointer type   array_of_struct.pgc(27): error C2065: 'cust_ind' : undeclared identifier
array_of_struct.pgc(27):error C2146: syntax error : missing ';' before identifier 'inds'   array_of_struct.pgc(27):
errorC2065: 'inds' : undeclared identifier   array_of_struct.pgc(27): error C2109: subscript requires array or pointer
type  array_of_struct.pgc(33): error C2275: 'customer2' : illegal use of this type as an expression
array_of_struct.pgc(32): see declaration of 'customer2'
 


(it goes on like that for quite a bit, total of 70 errors in this file)

If this has never run on the buildfarm, my guess is that it's been broken
for about 5 weeks - when the "major rewrite" got in.

Can someone confirm if this has ever executed on the buildfarm? Or if they
the same errors with HEAD that I do? I haven't been running ecpgcheck
manually for quite a while, since I thought it was on the bf run.

If it breaks for everybody I'll try to dig into why, but I just want that
confirmed first...


//Magnus


Re: MSVC build scripts status

От
Andrew Dunstan
Дата:

Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>   
>> However, neither the new nor the old scripts run ECPG tests on my setup, 
>> so I have been unable to test that.
>>     
>
> I'm confused.  We have MSVC buildfarm animals that show green, so aren't
> they getting through ECPG tests?
>
>   
>> I can commit the new scripts now or we can wait till the ECPG situation 
>> is cleared up.
>>     
>
> If what you're trying to say is "I can commit this except that it'll
> break the MSVC buildfarm members", my answer is no, don't do that.
>
>             
>   

The piece of the puzzle you are missing is this: ECPG tests have never 
been enabled for MSVC builds.

Look at any of those and you will not see a log for that stage.

(I'm pretty much as committed as you are to not causing wholesale 
buildfarm breakage ;-) )

cheers

andrew


Re: MSVC build scripts status

От
Dave Page
Дата:
Magnus Hagander wrote:
> On Mon, Sep 24, 2007 at 11:51:47PM -0400, Tom Lane wrote:
>> Andrew Dunstan <andrew@dunslane.net> writes:
>>> However, neither the new nor the old scripts run ECPG tests on my setup, 
>>> so I have been unable to test that.
>> I'm confused.  We have MSVC buildfarm animals that show green, so aren't
>> they getting through ECPG tests?
> 
> Yeah, I'm confused too. I thought they did, but looking at my own animal
> (Skylark) it seems not to be running any ecpg checks?

$CONFUSION++

> Oh, and I'm now seeing failures on my dev box with ECPG on the MSVC build
> using "the old way" (.bat-files):
>     array_of_struct.c
>     array_of_struct.pgc(26): error C2065: 'customer' : undeclared identifier
>     array_of_struct.pgc(26): error C2146: syntax error : missing ';' before identifier 'custs1'
>     array_of_struct.pgc(26): error C2065: 'custs1' : undeclared identifier
>     array_of_struct.pgc(26): error C2109: subscript requires array or pointer type
>     array_of_struct.pgc(27): error C2065: 'cust_ind' : undeclared identifier
>     array_of_struct.pgc(27): error C2146: syntax error : missing ';' before identifier 'inds'
>     array_of_struct.pgc(27): error C2065: 'inds' : undeclared identifier
>     array_of_struct.pgc(27): error C2109: subscript requires array or pointer type
>     array_of_struct.pgc(33): error C2275: 'customer2' : illegal use of this type as an expression
>     array_of_struct.pgc(32) : see declaration of 'customer2'
> 
> 
> (it goes on like that for quite a bit, total of 70 errors in this file)

Yup, seeing that here from a manual run.

> If this has never run on the buildfarm, my guess is that it's been broken
> for about 5 weeks - when the "major rewrite" got in.
> 
> Can someone confirm if this has ever executed on the buildfarm? Or if they
> the same errors with HEAD that I do? I haven't been running ecpgcheck
> manually for quite a while, since I thought it was on the bf run.

Same 70 errors here. Looking at my MSVC BF animals, I see no evidence 
that they ever ran ECPGCheck :-(

/D



Re: MSVC build scripts status

От
Andrew Dunstan
Дата:

Magnus Hagander wrote:
> If this has never run on the buildfarm, my guess is that it's been broken
> for about 5 weeks - when the "major rewrite" got in.
>
> Can someone confirm if this has ever executed on the buildfarm? Or if they
> the same errors with HEAD that I do? I haven't been running ecpgcheck
> manually for quite a while, since I thought it was on the bf run.
>
> If it breaks for everybody I'll try to dig into why, but I just want that
> confirmed first...
>
>   

To the best of my knowledge, I was never aware that the ECPG checks ever 
ran cleanly for MSVC, so I never enabled it for the buildfarm.

I am seeing errors similar to the ones you reported.

cheers

andrew


Re: MSVC build scripts status

От
Magnus Hagander
Дата:
On Tue, Sep 25, 2007 at 06:00:46AM -0400, Andrew Dunstan wrote:
> 
> 
> Magnus Hagander wrote:
> >If this has never run on the buildfarm, my guess is that it's been broken
> >for about 5 weeks - when the "major rewrite" got in.
> >
> >Can someone confirm if this has ever executed on the buildfarm? Or if they
> >the same errors with HEAD that I do? I haven't been running ecpgcheck
> >manually for quite a while, since I thought it was on the bf run.
> >
> >If it breaks for everybody I'll try to dig into why, but I just want that
> >confirmed first...
> >
> >  
> 
> To the best of my knowledge, I was never aware that the ECPG checks ever 
> ran cleanly for MSVC, so I never enabled it for the buildfarm.

Pah, it's even been in the weekly news ;-)

> I am seeing errors similar to the ones you reported.

Ok. Investigation required then. I'll try to get around to it soonish, but
if someone has a clue right off, let me know.

//Magnus


Re: MSVC build scripts status

От
Andrew Dunstan
Дата:

Magnus Hagander wrote:
>> To the best of my knowledge, I was never aware that the ECPG checks ever 
>> ran cleanly for MSVC, so I never enabled it for the buildfarm.
>>     
>
> Pah, it's even been in the weekly news ;-)
>
>   

I read that at best sporadically.

Seriously, though, if you'd monitored your own buildfarm member you 
should have known it wasn't running ECPG checks. The set of steps it 
runs is at the top of every status detail page, e.g. 
http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=skylark&dt=2007-09-24%2023:00:01 
which has no "ecpg-check" stage at the end of the list.

Anyway, get this fixed and I'll enable it for a new release of the 
buildfarm client.

cheers

andrew


Re: MSVC build scripts status

От
Magnus Hagander
Дата:
On Tue, Sep 25, 2007 at 08:06:49AM -0400, Andrew Dunstan wrote:
> 
> 
> Magnus Hagander wrote:
> >>To the best of my knowledge, I was never aware that the ECPG checks ever 
> >>ran cleanly for MSVC, so I never enabled it for the buildfarm.
> >>    
> >
> >Pah, it's even been in the weekly news ;-)
> >
> >  
> 
> I read that at best sporadically.
> 
> Seriously, though, if you'd monitored your own buildfarm member you 
> should have known it wasn't running ECPG checks. The set of steps it 
> runs is at the top of every status detail page, e.g. 
> http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=skylark&dt=2007-09-24%2023:00:01 
> which has no "ecpg-check" stage at the end of the list.

Oh yeah, I fully realise I should've done that. But I was lazy enough to
just look for failures.

> Anyway, get this fixed and I'll enable it for a new release of the 
> buildfarm client.

Right.

//Magnus


Re: MSVC build scripts status

От
Michael Meskes
Дата:
On Tue, Sep 25, 2007 at 11:07:27AM +0200, Magnus Hagander wrote:
> Oh, and I'm now seeing failures on my dev box with ECPG on the MSVC build
> using "the old way" (.bat-files):
>     array_of_struct.c
>     array_of_struct.pgc(26): error C2065: 'customer' : undeclared identifier
>     array_of_struct.pgc(26): error C2146: syntax error : missing ';' before identifier 'custs1'
>     array_of_struct.pgc(26): error C2065: 'custs1' : undeclared identifier
>     array_of_struct.pgc(26): error C2109: subscript requires array or pointer type
>     array_of_struct.pgc(27): error C2065: 'cust_ind' : undeclared identifier
>     array_of_struct.pgc(27): error C2146: syntax error : missing ';' before identifier 'inds'
>     array_of_struct.pgc(27): error C2065: 'inds' : undeclared identifier
>     array_of_struct.pgc(27): error C2109: subscript requires array or pointer type
>     array_of_struct.pgc(33): error C2275: 'customer2' : illegal use of this type as an expression
>     array_of_struct.pgc(32) : see declaration of 'customer2'

I do not have a Windows development setup around, so I never tried
myself but this looks strange. Could anyone please send me the .c file?
There are two possible reason: Either ecpg creates different code on
Windows, or the code that works on all Unix systems does not compile on
Windows.

Michael

P.S.: Is there some documentation available on how to set up a Windows
build system? Takes less time when you know all software to install
beforehand and if you get this software at all.
-- 
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!


Re: MSVC build scripts status

От
Magnus Hagander
Дата:
On Tue, Sep 25, 2007 at 02:13:05PM +0200, Michael Meskes wrote:
> On Tue, Sep 25, 2007 at 11:07:27AM +0200, Magnus Hagander wrote:
> > Oh, and I'm now seeing failures on my dev box with ECPG on the MSVC build
> > using "the old way" (.bat-files):
> >     array_of_struct.c
> >     array_of_struct.pgc(26): error C2065: 'customer' : undeclared identifier
> >     array_of_struct.pgc(26): error C2146: syntax error : missing ';' before identifier 'custs1'
> >     array_of_struct.pgc(26): error C2065: 'custs1' : undeclared identifier
> >     array_of_struct.pgc(26): error C2109: subscript requires array or pointer type
> >     array_of_struct.pgc(27): error C2065: 'cust_ind' : undeclared identifier
> >     array_of_struct.pgc(27): error C2146: syntax error : missing ';' before identifier 'inds'
> >     array_of_struct.pgc(27): error C2065: 'inds' : undeclared identifier
> >     array_of_struct.pgc(27): error C2109: subscript requires array or pointer type
> >     array_of_struct.pgc(33): error C2275: 'customer2' : illegal use of this type as an expression
> >     array_of_struct.pgc(32) : see declaration of 'customer2'
>
> I do not have a Windows development setup around, so I never tried
> myself but this looks strange. Could anyone please send me the .c file?
> There are two possible reason: Either ecpg creates different code on
> Windows, or the code that works on all Unix systems does not compile on
> Windows.

Irrk. The C file is very wrong indeed. Here's the relevant part where it
shoudl be declaring 'customer':
/* exec sql type customer is struct { #line 12 "array_of_struct.pgc" struct varchar_name_12  { int len; char arr[ 50 ];
} name    ; #line 13 "array_of_struct.pgc" int  phone    ; }   */ #line 14 "array_of_struct.pgc" 


(all on one line, in case the MUA wraps it)

Seems like the entire definition of the struct is commented out?

Are we perhaps looking at something broken by Windows newlines?

Anyway, I've attached the full output file.


> P.S.: Is there some documentation available on how to set up a Windows
> build system? Takes less time when you know all software to install
> beforehand and if you get this software at all.

There's a chapter in the developer version of the docs. That combined
withthe README file in src/tools/msvc should get yuo there - especially if
you know a bit of Windows devving beforehand. Suggestions for improvements
are always welcome though, since not a lot of people have built something
off those instructions yet.

//Magnus


Вложения

Re: MSVC build scripts status

От
Michael Meskes
Дата:
On Tue, Sep 25, 2007 at 02:20:34PM +0200, Magnus Hagander wrote:
> Irrk. The C file is very wrong indeed. Here's the relevant part where it
> shoudl be declaring 'customer':
> /* exec sql type customer is struct { #line 12 "array_of_struct.pgc" struct varchar_name_12  { int len; char arr[ 50
];}  name    ; #line 13 "array_of_struct.pgc" int  phone    ; }   */ #line 14 "array_of_struct.pgc" 
>
>
> (all on one line, in case the MUA wraps it)

On Linux it's wrapped. But the new line problem is not what's breaking
the compiler.

> Seems like the entire definition of the struct is commented out?

This is indeed the problem. I attach the diff so you see that instead of
typedef'ing the struct it just comments it out.

Michael
--
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!

Вложения

Re: MSVC build scripts status

От
Magnus Hagander
Дата:
On Tue, Sep 25, 2007 at 02:58:15PM +0200, Michael Meskes wrote:
> On Tue, Sep 25, 2007 at 02:20:34PM +0200, Magnus Hagander wrote:
> > Irrk. The C file is very wrong indeed. Here's the relevant part where it
> > shoudl be declaring 'customer':
> > /* exec sql type customer is struct { #line 12 "array_of_struct.pgc" struct varchar_name_12  { int len; char arr[
50]; }  name    ; #line 13 "array_of_struct.pgc" int  phone    ; }   */ #line 14 "array_of_struct.pgc"
 
> > 
> > 
> > (all on one line, in case the MUA wraps it)
> 
> On Linux it's wrapped. But the new line problem is not what's breaking
> the compiler.
> 
> > Seems like the entire definition of the struct is commented out?
> 
> This is indeed the problem. I attach the diff so you see that instead of
> typedef'ing the struct it just comments it out.

Yeah, why didn't I remember we had "expected" files for these :-(
Any idea as to *why* it's doing that?

(I'm not getting any warnings or anything when building ecpg that could be
an obvious place to start)

//Magnus


Re: MSVC build scripts status

От
Michael Meskes
Дата:
On Tue, Sep 25, 2007 at 03:25:08PM +0200, Magnus Hagander wrote:
> > > /* exec sql type customer is struct { #line 12 "array_of_struct.pgc" struct varchar_name_12  { int len; char arr[
50]; }  name    ; #line 13 "array_of_struct.pgc" int  phone    ; }   */ #line 14 "array_of_struct.pgc"
 
> > > ...
> > > Seems like the entire definition of the struct is commented out?
> ...
> Any idea as to *why* it's doing that?

This might be too simple but are you sure ecpg is called with option
"-c" when compiling array_of_struct.pgc? It is listed that way in the
Makefile, however lacking this option should generate exactly the file
you sent.

Michael
-- 
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!


Re: MSVC build scripts status

От
Magnus Hagander
Дата:
On Wed, Sep 26, 2007 at 01:07:04PM +0200, Michael Meskes wrote:
> On Tue, Sep 25, 2007 at 03:25:08PM +0200, Magnus Hagander wrote:
> > > > /* exec sql type customer is struct { #line 12 "array_of_struct.pgc" struct varchar_name_12  { int len; char
arr[50 ]; }  name    ; #line 13 "array_of_struct.pgc" int  phone    ; }   */ #line 14 "array_of_struct.pgc"
 
> > > > ...
> > > > Seems like the entire definition of the struct is commented out?
> > ...
> > Any idea as to *why* it's doing that?
> 
> This might be too simple but are you sure ecpg is called with option
> "-c" when compiling array_of_struct.pgc? It is listed that way in the
> Makefile, however lacking this option should generate exactly the file
> you sent.

Well, bingo. With that, ti passes that check. Oops. Will commit fix for
that.

But it's not done yet, I now get a different problem :-)
   define.c   define.pgc(13): error C2059: syntax error : '['


diff of the .c file is:
17c17
< #line 1 "./../regression.h"
---
> #line 1 "regression.h"
34c34
< typedef  int  [ 6 ]  intarray ;
---
> /* exec sql type intarray is int [ 6 ]   */


//Magnus


Re: MSVC build scripts status

От
Michael Meskes
Дата:
On Wed, Sep 26, 2007 at 01:15:21PM +0200, Magnus Hagander wrote:
> > This might be too simple but are you sure ecpg is called with option
> > "-c" when compiling array_of_struct.pgc? It is listed that way in the
> > Makefile, however lacking this option should generate exactly the file
> > you sent.
> 
> Well, bingo. With that, ti passes that check. Oops. Will commit fix for
> that.
> 
> But it's not done yet, I now get a different problem :-)
> 
>     define.c
>     define.pgc(13): error C2059: syntax error : '['

Not really, it looks like you're using "-c" on this file too. This one,
however, is supposed to be compiled without "-c".

> diff of the .c file is:
> 17c17
> < #line 1 "./../regression.h"
> ---
> > #line 1 "regression.h"

Wonder where this comes from. It should look the same for each source
file.

Michael
-- 
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!


Re: MSVC build scripts status

От
"Magnus Hagander"
Дата:
> > > This might be too simple but are you sure ecpg is called with option
> > > "-c" when compiling array_of_struct.pgc? It is listed that way in the
> > > Makefile, however lacking this option should generate exactly the file
> > > you sent.
> > 
> > Well, bingo. With that, ti passes that check. Oops. Will commit fix for
> > that.
> > 
> > But it's not done yet, I now get a different problem :-)
> > 
> >     define.c
> >     define.pgc(13): error C2059: syntax error : '['
> 
> Not really, it looks like you're using "-c" on this file too. This one,
> however, is supposed to be compiled without "-c".

Indeed I am, I changed all of the invocations. on my cell now so can't read the code - how do I determine which files
needit?
 
> 
> > diff of the .c file is:
> > 17c17
> > < #line 1 "./../regression.h"
> > ---
> > > #line 1 "regression.h"
> 
> Wonder where this comes from. It should look the same for each source
> file.
> 

Probably the same kind of issue, even though it worked before. will investigate when the other stuff works.

/Magnus



Re: MSVC build scripts status

От
Michael Meskes
Дата:
On Wed, Sep 26, 2007 at 02:12:55PM +0200, Magnus Hagander wrote:
> > Not really, it looks like you're using "-c" on this file too. This one,
> > however, is supposed to be compiled without "-c".
> 
> Indeed I am, I changed all of the invocations. on my cell now so can't read the code - how do I determine which files
needit?
 

It's only array_of_struct that needs this option. I think one test for
this special option should be sufficient.

Michael

-- 
Michael Meskes
Email: Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!