msvc and vista fun - Mailing list pgsql-hackers

From Andrew Dunstan
Subject msvc and vista fun
Date
Msg-id 467EA880.9020104@dunslane.net
Whole thread Raw
Responses Re: msvc and vista fun
Re: msvc and vista fun
Re: msvc and vista fun
Re: msvc and vista fun
List pgsql-hackers
I am still very unhappy about the way the MSVC builds work. Although we 
have managed to make it sort of work with the buildfarm script, it is 
distinctly fragile. Last night, for example, I had a build failure due 
to a badly installed zlib. The error state didn't come back to the 
buildfarm script, which carried on merrily to the check stage, which 
also naturally failed, but also didn't manage to give back an error 
state to the buildfarm script, and finally got a failure at the install 
stage. That means that we simply can't rely on this build system to give 
us accurate state on the buildfarm - we might have had a code breakage 
but it won't always tell us that.

Part of the problem, it seems to me, is that this build system is a 
hodge-podge of Perl programs and Windows shell scripts. In at least one 
case we call perl to write a dynamically generated .bat file which we 
then execute. Since the perl is pretty much indispensable (or at least 
would need replacing by an engine of similar capability), I think we 
should make the whole thing a perl suite with some very minimal .bat 
wrappers if necessary.

On a somewhat related note, I have had spectacular lack of success in 
getting either MSVC or MinGW builds to work on Vista - so much so that I 
have currently abandoned my attempts on that platform and I resorted to 
resuscitating an old XP box for testing. Following some advice from 
Magnus, I added ACLs to the build root for both an admin and a non-admin 
user (cacls buildroot /E /T /G AdminUser:C and similarly for a non-admin 
user) . I can build as the admin user but when I come to run initdb it 
fails, complaining that it can't find the postgres executable. If I then 
switch to the non-admin user, it can run initdb just fine. However, that 
user can't build, because it gets a mysterious failure from mt.exe. 
MinGW is even worse - it says it can't run gcc because it can't run 
cc1.exe (IIRC), so it fails at the configure stage! All of this has cost 
me quite a few hours in the last week, with very little to show for it.

Perhaps someone would like to tell me how I can remedy these problems. 
More importantly, this should be in an FAQ or some such. Also, I would 
like to know if we have really tested out on Vista the privilege 
surrendering code that is is supposed to work in Windows. It looks to me 
like it might not be working.

If we can make progress on these issues then I'll be happy. If not, I 
think we need to look carefully at what we say we can support, and what 
we declare to be still experimental.

cheers

andrew



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Bugtraq: Having Fun With PostgreSQL
Next
From: Dave Page
Date:
Subject: Re: msvc and vista fun