Re: ccache, MSVC, and meson

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Daniel Gustafsson <daniel(at)yesql(dot)se>
Subject: Re: ccache, MSVC, and meson
Date: 2022-06-14 21:08:19
Message-ID: 20220614210819.GW29853@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, May 24, 2022 at 09:48:17PM -0700, Andres Freund wrote:
> Hi,
>
> On 2022-05-24 17:17:47 -0500, Justin Pryzby wrote:
> > Also, /O2 cuts ~3 minutes off the test time on cirrus, which seems worth it,
> > except that it omits frame pointers, which probably breaks debuggability.
>
> It likely also causes us to use the non-debug C runtime? Which IMO would be
> bad, it does detect quite a few problems that are otherwise hard to find.
>
>
> > And when I pass /Oy- to "avoid omitting" frame pointers, several tests crash...
>
> Huh. Do you get a backtrace containing anything remotely meaningful?

I looked at this again. The issue isn't caused by optimizations, but
(apparently) by an absence of options in "msbuild --buildtype plain".
Adding /MD or /MDd fixes the issue.

That's done in the existing build system here:

src/tools/msvc/MSBuildProject.pm: runtime => 'MultiThreadedDebugDLL'
src/tools/msvc/MSBuildProject.pm: runtime => 'MultiThreadedDLL'

https://cirrus-ci.com/task/4895613501308928

BTW: vcvarsall isn't needed in the "check_world" scripts.

--
Justin

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2022-06-14 21:08:28 Re: Small TAP improvements
Previous Message Peter Geoghegan 2022-06-14 20:32:38 Re: better page-level checksums