Thread
-
MinGW ccache snafu on CI
Thomas Munro <thomas.munro@gmail.com> — 2026-07-04T04:44:47Z
Hi, 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
-
Re: MinGW ccache snafu on CI
Andres Freund <andres@anarazel.de> — 2026-07-07T17:37:03Z
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