From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Noah Misch <noah(at)leadboat(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Michael Paquier <michael(at)paquier(dot)xyz>, Jacob Champion <pchampion(at)vmware(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Daniel Gustafsson <daniel(at)yesql(dot)se>, info(at)cspug(dot)cz |
Subject: | Re: Preventing abort() and exit() calls in libpq |
Date: | 2021-07-09 14:06:18 |
Message-ID: | 2093118.1625839578@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Noah Misch <noah(at)leadboat(dot)com> writes:
> On Sat, Jul 03, 2021 at 06:44:20PM -0400, Tom Lane wrote:
>> That'd require buildfarm owner intervention, as well as intervention
>> by users. Which seems like exporting our problems onto them. I'd
>> really rather not go that way if we can avoid it.
> I like that goal, though we'll have to see how difficult it proves. As of
> today, a GNU/Linux user building against static OpenLDAP will get a failure,
> right? That would export work onto that user, spuriously.
As a former packager for Red Hat, my response would be "you're doing it
wrong". Nobody on any Linux distro should *ever* statically link code
from one package into code from another, because they are going to create
untold pain for themselves when (not if) the first package is updated.
So I flat out reject that as a valid use-case.
It may be that that ethos is not so strongly baked-in on other platforms.
But I'm content to wait and see if there are complaints before rescinding
the automatic test; and if there are, I'd prefer to deal with it by just
backing off to running the test on Linux only.
> We'd get something like 95% of the value by running the test on one Windows
> buildfarm member and one non-Windows buildfarm member.
True. But that just brings up the point that we aren't running the test
at all on MSVC builds right now. I have no idea how to do that, do you?
> ... A strategy not having either of those drawbacks would be to skip
> the test if libpq.so contains a definition of libpq_unbind().
I assume you meant some OpenLDAP symbol?
> If any other
> dependency contains exit calls, we'd likewise probe for one symbol of that
> library and skip the test if presence of that symbol reveals static linking.
> (That's maintenance-prone in its own way, but a maintenance-free strategy has
> not appeared.)
I'm more worried about the risk of failing to detect problems at all,
in case somebody fat-fingers things in a way that causes the test to
be skipped everywhere.
I'll keep that way in mind if we conclude that the existing way is
unworkable, but so far I don't think it is.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | grd | 2021-07-09 14:13:38 | Re: Fwd: Grammar railroad diagram |
Previous Message | Alvaro Herrera | 2021-07-09 14:00:34 | Re: [CLOBBER_CACHE]Server crashed with segfault 11 while executing clusterdb |