Re: ccache, MSVC, and meson - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: ccache, MSVC, and meson
Date
Msg-id 20220614210819.GW29853@telsasoft.com
Whole thread Raw
In response to Re: ccache, MSVC, and meson  (Andres Freund <andres@anarazel.de>)
List 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



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: better page-level checksums
Next
From: Tom Lane
Date:
Subject: Re: Small TAP improvements