Re: [BUG?] macOS (Intel) build warnings: "ranlib: file … has no symbols" for aarch64 objects

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Peter Eisentraut <peter@eisentraut.org>, Zhang Mingli <zmlpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-27T02:18:33Z
Lists: pgsql-hackers
Nathan Bossart <nathandbossart@gmail.com> writes:
> Well, the latest macOS update added these warnings for aarch64:
> ranlib: warning: 'libpgport_shlib.a(pg_cpu_x86.c.o)' has no symbols
> ranlib: warning: 'libpgport_shlib.a(pg_popcount_x86.c.o)' has no symbols
> ranlib: warning: 'libpgport_shlib.a(pg_cpu_x86.c.o)' has no symbols
> ranlib: warning: 'libpgport_shlib.a(pg_popcount_x86.c.o)' has no symbols

> I'm not seeing an easy way to pass -no_warning_for_no_symbols to ranlib, at
> least with meson.  Hm...

Yeah, we aren't even calling ranlib directly, it goes through 'ar'
which doesn't expose any such option.  In any case that'd necessarily
be an OS-specific option.

I previously suggested that we should teach the build systems not
to build the foo_x86 and foo_aarch64 modules when not on those
architectures.  That was shot down for reasons that made no great
amount of sense to me, but I think it'd be fairly easy and clean.

			regards, tom lane



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Suppress "has no symbols" linker warnings on macOS.

  2. Fix two error messages in extended_stats_funcs.c