| From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
|---|---|
| To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | MinGW ccache snafu on CI |
| Date: | 2026-07-04 04:44:47 |
| Message-ID: | CA+hUKG+s7Yvt0PUnSQUEjCjysV-7-51n9B1h468Le3VJi0x4ZQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
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
| From | Date | Subject | |
|---|---|---|---|
| Previous Message | jian he | 2026-07-04 01:22:24 | Re: Row pattern recognition |