Re: [BUG?] macOS (Intel) build warnings: "ranlib: file … has no symbols" for aarch64 objects
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: John Naylor <johncnaylorls@gmail.com>, Peter Eisentraut <peter@eisentraut.org>, Zhang Mingli <zmlpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-28T20:32:28Z
Lists: pgsql-hackers
Attachments
On Tue, Apr 28, 2026 at 09:09:09AM -0500, Nathan Bossart wrote: > On Tue, Apr 28, 2026 at 09:29:41AM -0400, Tom Lane wrote: >> If we do care, a low-tech solution could be to have a dummy symbol >> declared in each file, along the lines of >> >> #if HAVE_X86_64_POPCNTQ >> // code for popcntq case >> #elif HAVE_FROBNITZ >> // code for frobnitz case >> ... >> #else >> /* prevent linker complaints about empty module */ >> extern int pg_cpu_x86_dummy_variable; >> int pg_cpu_x86_dummy_variable = 0; >> #endif >> >> Actually then we'd not need to change the build systems either... > > I've been trying to avoid doing that, but it's a far simpler solution, and > in theory it should fix the problem for all platforms, too. So, it's > probably the way to go. Here's a full set of patches for back-patching purposes. protocol_openssl.c has a similar problem on older versions. I suppose this is the sort of thing I could back-patch all the way to v9.2. Does anyone feel strongly one way or the other about that? -- nathan
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Suppress "has no symbols" linker warnings on macOS.
- f00cccb79870 18.4 landed
- 7a8e35a4c964 16.14 landed
- 76cdf922b0e7 15.18 landed
- 5367c28c875c 14.23 landed
- 455ddabc8d9e 17.10 landed
- 3dd42ee97b81 19 (unreleased) landed
- 05f6c9ec2c47 13 (unreleased) landed
-
Fix two error messages in extended_stats_funcs.c
- 740a1494f4bf 19 (unreleased) cited