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


---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

               http://www.postgresql.org/about/donate

Reply via email to