From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Annoying build warnings from latest Apple toolchain |
Date: | 2023-09-27 19:05:49 |
Message-ID: | 673900.1695841549@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I wrote:
> Since updating to Xcode 15.0, my macOS machines have been
> spitting a bunch of linker-generated warnings. ...
> some program links complain
> ld: warning: ignoring duplicate libraries: '-lpgcommon', '-lpgport'
I found that this is being caused by the libpq_pgport hack in
Makefile.global.in, which ensures that libpgcommon and libpgport
get linked before libpq. The comment freely admits that it results in
linking libpgcommon and libpgport twice. Now, AFAICS that whole hack
is unnecessary on any platform where we know how to do symbol export
control, because then libpq won't expose any of the troublesome
symbols to begin with. So we can resolve the problem by just not
doing that on macOS, as in the attached draft patch. I've confirmed
that this suppresses the duplicate-libraries warnings on Xcode 15.0
without creating any issues on older macOS (though I'm only in a
position to test as far back as Catalina).
The patch is written to change things only on macOS, but I wonder
if we should be more aggressive and change it for all platforms
where we have symbol export control (which is almost everything
these days). I doubt it'd make any noticeable difference in
build time, but doing that would give us more test coverage
which would help expose any weak spots.
I've not yet looked at the meson build infrastructure to
see if it needs a corresponding change.
regards, tom lane
Attachment | Content-Type | Size |
---|---|---|
v1-fix-duplicate-library-linkage.patch | text/x-diff | 2.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2023-09-27 19:25:23 | Re: Eager page freeze criteria clarification |
Previous Message | Peter Geoghegan | 2023-09-27 18:57:46 | Re: Eager page freeze criteria clarification |