Gentoo Archives: gentoo-user

From: Andreas Fink <finkandreas@×××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] How to produce broken binary packages
Date: Sun, 15 Jan 2023 12:28:02
Message-Id: 20230115132743.1d88c63b@web.de
In Reply to: [gentoo-user] How to produce broken binary packages by Alexander Puchmayr
1 On Sun, 15 Jan 2023 12:14:29 +0100
2 Alexander Puchmayr <alexander.puchmayr@×××××××.at> wrote:
3
4 > Hi there,
5 >
6 > I just encountered a problem regarding binary packages and got some broken
7 > packages and I don't know how to solve this permanently; On my buildhost I
8 > compile all packages I need for several VMs and install only those packages I
9 > really need on the target machines.
10 >
11 > Problem combination:
12 >
13 > * net-fs/samba-4.15.12-r2 has a direct dependency to sys-libs/liburing.
14 > * dev-db/mariadb does not have a dependency to liburing, but during build, if
15 > liburing is available it will use it for some reason yielding a binary that
16 > links against it:
17 >
18 > Buildhost-server ~ # ldd /usr/sbin/mysqld
19 > linux-vdso.so.1 (0x00007ffec5b61000)
20 > libpcre2-8.so.0 => /usr/lib64/libpcre2-8.so.0 (0x00007fcfbd704000)
21 > libcrypt.so.2 => /lib64/libcrypt.so.2 (0x00007fcfbd6c9000)
22 > liburing.so.2 => /usr/lib64/liburing.so.2 (0x00007fcfbd6c2000)
23 > ---
24 >
25 > Installing that package on a target VM does not install liburing, hence
26 > yielding a broken /usr/sbin/mysqld binary because the library is missing, and
27 > the reason why I still have a consistent system on my buildhost is because
28 > samba has it as dependency.
29 >
30 > A quick on-the-fly solution is either manually installing liburing and adding
31 > it to the world profile (@world is required otherwise emerge -c will remove it
32 > again), or install mariadb by compiling it (not using emerge -k). But all of
33 > them are somewhat unclean.
34 >
35 > A) Is this a problem in the ebuild script of mysql because not taking care of
36 > this?
37 > b) Is this a problem of mariadb's configure/make script because of implicitly
38 > using the library without being told so by ebuild?
39 >
40 > Alex
41 >
42
43 Typically this is something that can be fixed in the ebuild, but
44 ultimately it is a problem with automagic dependencies (check for the
45 many automagic open bugs on bugs.gentoo.org or your described problem
46 here: https://bugs.gentoo.org/878853)
47 However I did not go to the build system of mariadb, and checked
48 whether automatic discovery of a liburing can be explicitly turned
49 on/off.