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

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Wolfgang Walther <walther(at)technowledgy(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Bugs <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: Regression tests fail with musl libc because libpq.so can't be loaded
Date: 2024-03-16 19:49:27
Message-ID: CAD5tBcJ7r_g1gUCp63ugjE6doz_Fu_1VJQJ5Cz_gLGKJ3e1Ktg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On Sat, Mar 16, 2024 at 11:55 AM Wolfgang Walther <walther(at)technowledgy(dot)de>
wrote:

> Tom Lane:
> > Why do you think this is our bug and not musl's?
>
> Because I tried to reproduce with musl directly with a very simple
> example as mentioned in:
>
> > To rule out a musl bug, I also put together a very simple test-case of
> an executable loading liba with dlopen(), which depends on libb and then
> constructing the same scenario with LD_LIBRARY_PATH. This works fine when
> compiled with glibc and musl, too. Thus, I believe the problem to be
> somewhere in how postgres loads those libraries.
>
> My test case looked like the attached. To compile it with musl via
> Dockerfile:
>
> docker build . -t musl-dlopen && docker run --rm musl-dlopen
>
> a.c/a.h is equivalent to libpqwalreceiver and b.c/b.h to libpq.
>
> This works fine with both musl and glibc.
>
> (Note: I also tried putting liba.so and libb.so in different folders,
> adding both to LD_LIBRARY_PATH - but that worked fine as well.)
>
> Now my very simple example probably does something different than
> postgres, so that the problem doesn't appear there. But since it seems
> possible to do this with musl in principle, it should be possible to do
> it differently in postgres to make it work, too.
>
> Any ideas?
>
>
>

On Alpine Linux, which uses musl libc, you have to run `make install`
before you can run `make check`. Have you tried
that?

(Note to self: need a new Alpine buildfarm member)

cheers

andrew

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Wolfgang Walther 2024-03-16 20:00:28 Re: Regression tests fail with musl libc because libpq.so can't be loaded
Previous Message Rahul Uniyal 2024-03-16 17:55:49 Postgres jdbc driver inconsistent behaviour with double precession

Browse pgsql-hackers by date

  From Date Subject
Next Message Wolfgang Walther 2024-03-16 20:00:28 Re: Regression tests fail with musl libc because libpq.so can't be loaded
Previous Message Andres Freund 2024-03-16 19:12:26 Re: BitmapHeapScan streaming read user and prelim refactoring