Re: Regression tests fail with musl libc because libpq.so can't be loaded

From: Wolfgang Walther <walther(at)technowledgy(dot)de>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, peter(at)eisentraut(dot)org, Christophe Pettus <xof(at)thebuild(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, PostgreSQL Bugs <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: Regression tests fail with musl libc because libpq.so can't be loaded
Date: 2024-03-20 19:29:21
Message-ID: 203f8b3b-3a70-4342-80a2-a29650e6f6ed@technowledgy.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

Bruce Momjian:
>> The library/postgres docker image has been pulled about 8 billion times
>> since 2014 [1]. While we can't really tell how many of those pulled the
>> alpine variant of the image, comparing the alpine [2] and ubuntu/debian
>> [3,4] base images gives a rough estimate of >50% using alpine in general.
>
> Uh, what is the current behavior of Postgres on musl? It just fails if
> the process title is longer than argv[0] plus the environment space to
> the LD_ environment variable, and then linking fails for certain
> extensions? If there are many downloads, why would we only be getting
> this report now?

The process title works fine. It's just the way how space is cleared for
the process title, that is causing problems elsewhere.

The thing that is broken when running postgres on alpine/musl is, to put
libpq in a custom path and use LD_LIBRARY_PATH to find it when loading
libpqwalreceiver (+ some contrib modules). Nobody does that, especially
not in a container environment where postgres is likely the only thing
running in that container, so there is no point in using any custom
library paths or anything - the image is built once and made to work,
and everybody else is just using that working image.

The much more practical problem is that the test suite doesn't run,
because it makes use of LD_LIBRARY_PATH for that purpose. In the past,
the packagers for alpine only disabled the failing tests, but IIRC they
have given up on that and just disabled the whole test suite by now.

Best,

Wolfgang

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2024-03-20 19:35:22 BUG #18403: PL/pgSQL is reporting unexpected errors when processing DECLARE blocks with <<label>>
Previous Message Bruce Momjian 2024-03-20 19:18:39 Re: Regression tests fail with musl libc because libpq.so can't be loaded

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2024-03-20 19:42:16 Re: Regression tests fail with musl libc because libpq.so can't be loaded
Previous Message Matthias van de Meent 2024-03-20 19:26:38 Re: Optimizing nbtree ScalarArrayOp execution, allowing multi-column ordered scans, skip scan