From: | Magnus Hagander <magnus(at)hagander(dot)net> |
---|---|
To: | Charlie Savage <cfis(at)interserv(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Some more msvc++ 8.2.4 build feedback |
Date: | 2007-08-30 08:07:16 |
Message-ID: | 20070830080716.GE14845@svr2.hagander.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Aug 29, 2007 at 08:53:55PM -0600, Charlie Savage wrote:
> In addition to the encoding issues I have with the 8.2.4 MSVC++ build
> (see previous email), there are some other issues that I've run into:
>
> 1. The custom build step that generates DEF files for DLLS using a perl
> script does not work. The perl script runs, and a slew of symbol
> information is output to the MSVC++ console. And a def file is created,
> but it always empty.
>
> If you run the perl script (gendef.pl) by hand from a DOS prompt, the
> DEF file is created correctly. That of course is a bit of pain since
> you have to do it for a number of the MSVC++ projects.
Yeah, this is a known problem, and it's fixed for 8.3. Really, the msvc
build process in 8.2 has a *lot* of rough edges ;-) The code itself builds
fine, but the buildsystem needed a lot more work.
> 2. The build has hard-coded paths (as far as I can see) to zlib and
> openssl. Is there a way to a) remove them or b) change them ahead of
> time so you don't have to manually change 20+ project files?
They are set in config.pl. Change it there and re-run the mkvcbuild script
and it'll update all those places.
> 3. If you have a contrib module that is not known to the build system
> it blows up. For example, I use PostGIS. When running build.bat it
> stops at postgis (sorry, I didn't write down the error message but can
> easily get it if needed). Could unknown contrib modules just be skipped
> instead?
Uh, can you explain more what you mean? How can the pg build be affected by
postgis?
> 4. I was surprised to find out that a MSVC++ build cannot open a
> database cluster created by a MSYS build (not sure about vice versa
> since I didn't checked). When running pg_ctl start a checksum error is
> returned. Is this expected? I got around it by doing a dump from the
> MSYS database and a restore into the MSVC++ database, which worked fine.
No, it's not really expected, that should work. Are they compiled with the
same options? Compare pg_controldata output between the two clusters (using
mingw pg_controldata for the mingw install and msvc dfor the msvc install
of course)
> Hope these comments help - and thanks for providing the build scripts.
> They make it *much* easier to debug postgresql and contrib modules on
> Windows.
>
> Out of curiosity, will the MSVC++ build become the default for 8.3 on
> Windows or will it remain MSYS for a bit longer?
The binary distribution will be using the MSVC++ build for 8.3. But we'll
keep msys around and fullyi supported, of course.
//Magnus
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2007-08-30 08:14:45 | Re: initdb failed on Windows 2000 |
Previous Message | Magnus Hagander | 2007-08-30 08:05:04 | Re: msvc++ build of 8.2.4 and encodings |