Hi,

On 2026-07-04 16:44:47 +1200, Thomas Munro wrote:
> As previously reported[1] (also discussed on Discord a few times), the
> MinGW CI job is capable of getting confused like this:
> 
> Cache restored from key: ccache:windows-mingw:thread-work:28559723796:1
> 
> # check for 
> "D:/a/postgres/postgres/build/tmp_install/usr/local/pgsql/bin/vacuumdb"
> failed: incorrect version: found "vacuumdb (PostgreSQL) 19beta1",
> expected "vacuumdb (PostgreSQL) 20devel"
> 
> Apparently ccache failed to recompile stuff that it should have, and
> produced a stale .o from an earlier build in the same repo/branch.
> While "19beta1" and "20devel" have the same length, I doubt that a
> mere few hundred monkeys with typewriters have found multiple hash
> collisions...
> 
> One observation is that the MinGW job is using precompiled headers
> (-Db_pch=true).  I wonder if we might be using the wrong switches[2],
> but I don't claim to understand that stuff...
> 
> So is the MSVC job, but I don't recall hearing of any problems there.
> 
> [1] 
> https://www.postgresql.org/message-id/flat/E1vOJwR-001XFf-0r%40gemulon.postgresql.org
> [2] https://ccache.dev/manual/4.1.html#_precompiled_headers

There's another thread about this:
https://www.postgresql.org/message-id/CAN55FZ0tqR6Xz%3DiVFLc1BBoLOEHU775ARhcGYwggHA3XLA%3DoQg%40mail.gmail.com

As suggested there, I think we need to add -fpch-deps for gcc, until either
ccache is fixed or meson adds it automatically.

Greetings,

Andres Freund


Reply via email to