public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Mike Gilbert <floppym@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Re: last rites: sys-fs/eudev
Date: Thu, 14 Sep 2023 10:57:48 -0400	[thread overview]
Message-ID: <CAJ0EP42RkKUgo_hWxZpX+1T+rki_cBXtsTJFuRV2=FHL5MpzAg@mail.gmail.com> (raw)
In-Reply-To: <86led8x21v.fsf@gentoo.org>

On Thu, Sep 14, 2023 at 10:25 AM Arsen Arsenović <arsen@gentoo.org> wrote:
> Madhu <enometh@meer.net> writes:
> > systemd-udev cannot be built as a static binary again presumably a
> > carefully thought out design decision behind its design and
> > philosophy.
>
> Since static linking is seldom a good idea, it is more likely that
> simply nobody bothered.  I don't recall any udev components in systemd
> v249 (which is the version I attempted to rebase eudev on top of) which
> can't be static linked.

The main issue is symbol conflicts with several major projects.

systemd makes careful use of ELF symbol visibility (hidden symbols) to
prevent conflicts when libudev or libsystemd are linked with other
projects.

As I understand it, it is up to the linker to apply any visibility
rules. This doesn't work for static libs since the linker isn't
actually involved in their creation. A static library is really just
an archive with a bunch of unlinked ELF objects.

Since the symbol visibility rules are not applied, attempting to link
against libudev.a or libsystemd.a leads to symbol conflicts in
packages like LVM2 and cryptsetup. There are some Gentoo bug reports
about this, but I can't find them immediately.

The systemd project (upstream) has chosen not to work around these
conflicts by renaming symbols, and instead chooses not to support
static linking at all. They see static libs as being defective by
design. If the symbol visibility issue could be resolved at the
toolchain level, they would probably be more willing to support it.


  reply	other threads:[~2023-09-14 14:58 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-11 15:14 [gentoo-dev] last rites: sys-fs/eudev Andreas K. Huettel
2023-09-11 15:22 ` orbea
2023-09-11 15:29   ` Andreas K. Huettel
2023-09-11 15:42     ` orbea
2023-09-11 17:25       ` martin-kokos
2023-09-11 17:45         ` orbea
2023-09-11 19:20       ` Dale
2023-09-11 20:31         ` Sam James
2023-09-11 21:14           ` orbea
2023-09-11 21:21             ` Sam James
2023-09-11 21:29               ` Alexey Sokolov
2023-09-11 21:35                 ` Sam James
2023-09-11 21:43                   ` Alexey Sokolov
2023-09-11 21:51                     ` Alexe Stefan
2023-09-11 21:59                       ` Sam James
2023-09-11 21:32               ` orbea
2023-09-11 21:50                 ` Sam James
2023-09-11 22:10                   ` orbea
2023-09-11 22:17                     ` Sam James
2023-09-12  2:34                       ` orbea
2023-09-12  9:18                         ` Rich Freeman
2023-09-12 11:00                           ` Alarig Le Lay
2023-09-14  0:20                           ` [gentoo-dev] " Madhu
2023-09-14  0:47                             ` Alex Boag-Munroe
2023-09-14 14:25                             ` Arsen Arsenović
2023-09-14 14:57                               ` Mike Gilbert [this message]
2023-09-14 18:15                                 ` Arsen Arsenović
2023-09-11 21:27           ` [gentoo-dev] " Eddie Chapman
2023-09-11 21:41             ` Sam James
2023-09-11 22:22               ` Eddie Chapman
2023-09-11 22:27                 ` Sam James
2023-09-12 13:36                   ` Eddie Chapman
2023-09-12 13:57                     ` Sam James
2023-09-12 14:12                     ` Rich Freeman
2023-09-12 14:17                       ` Sam James
2023-09-12 15:04                         ` Eddie Chapman
2023-09-12 18:47                           ` Matt Turner
2023-09-12 15:35                         ` orbea
2023-09-12 17:23                           ` Alexe Stefan
2023-09-12 17:36                             ` orbea
2023-09-12 19:06                               ` Eddie Chapman
2023-09-12 19:32                                 ` orbea
2023-09-12 18:53                             ` Matt Turner
2023-09-12 18:58                               ` Alexe Stefan
2023-09-12 23:45                             ` karl
2023-09-12 18:51                           ` Matt Turner
2023-09-12 19:05                             ` orbea
2023-09-12 19:56                               ` Eli Schwartz
2023-09-12 20:59                                 ` Dale
2023-09-12 20:37                               ` Matt Turner
2023-09-12 14:55                       ` Eddie Chapman
2023-09-12 15:00                         ` Sam James
2023-09-12 19:21                         ` Andreas K. Huettel
2023-09-12 19:47                           ` Eddie Chapman
2023-09-12 20:33                             ` Andrew Ammerlaan
2023-09-12 21:23                               ` Eddie Chapman
2023-09-12 21:36                                 ` Matt Turner
2023-09-12 21:45                                   ` Alexe Stefan
2023-09-12 21:52                                     ` Matt Turner
2023-09-13  4:35                                       ` Alexe Stefan
2023-09-13  4:56                                         ` Eli Schwartz
2023-09-13  5:03                                           ` Alexe Stefan
2023-09-13  5:38                                             ` Eli Schwartz
2023-09-13  6:13                                               ` Alexe Stefan
2023-09-13  6:19                                                 ` Alexe Stefan
2023-09-13  6:40                                                 ` Dale
2023-09-13  6:54                                                   ` Alexe Stefan
2023-09-13  7:23                                                     ` Dale
2023-09-12 22:35                                   ` Eddie Chapman
2023-09-13  7:55                                 ` Andrew Ammerlaan
2023-09-13  8:10                                   ` Dale
2023-09-16  6:01                                     ` Oskari Pirhonen
2023-09-16  6:09                                       ` Sam James
2023-09-16  7:15                                         ` Dale
2023-09-13  8:13                                   ` Arve Barsnes
2023-09-13 23:49                                   ` Eddie Chapman
2023-09-14 14:16                                   ` Eddie Chapman
2023-09-14 14:44                                     ` Alex Boag-Munroe
2023-09-14 15:30                                       ` Eddie Chapman
2023-09-14 16:09                                         ` Alex Boag-Munroe
2023-09-14 16:50                                           ` Eddie Chapman
2023-09-14 17:18                                             ` Alex Boag-Munroe
2023-09-14 18:39                                               ` Alexe Stefan
2023-09-14 19:11                                                 ` Alex Boag-Munroe
2023-09-14 17:27                                             ` Rich Freeman
2023-09-14 17:39                                               ` Eddie Chapman
2023-09-14 17:52                                                 ` Alex Boag-Munroe
2023-09-14 17:57                                                 ` Rich Freeman
2023-09-14 23:19                                                 ` Arsen Arsenović
2023-09-15 15:10                                                   ` orbea
2023-09-15 18:38                                                     ` Alexey Sokolov
2023-09-15 18:56                                                       ` orbea
2023-09-15 22:25                                                         ` Arsen Arsenović
2023-09-15 22:40                                                   ` orbea
2023-09-16  1:12                                                     ` Arsen Arsenović
2023-09-16  9:35                                                     ` David Seifert
2023-09-16 13:32                                                       ` Alexe Stefan
2023-09-16 22:03                                                         ` Arsen Arsenović
2023-09-17  9:00                                                           ` Alexe Stefan
2023-09-17 10:16                                                             ` Arsen Arsenović
2023-09-17 17:56                                                               ` Alexe Stefan
2023-09-17 18:38                                                                 ` Arsen Arsenović
2023-09-14 17:20                                       ` Eddie Chapman
2023-09-14 17:28                                         ` Alex Boag-Munroe
2023-09-14 17:51                                           ` Eddie Chapman
2023-09-14 17:19                                     ` Matt Turner
2023-09-14 17:24                                       ` Eddie Chapman
2023-09-13  2:55                             ` Eli Schwartz
2023-09-13  9:05                               ` Eddie Chapman
2023-09-13  9:34                                 ` Alexe Stefan
2023-09-13  9:43                                   ` Alex Boag-Munroe
2023-09-13 21:57                                   ` Arsen Arsenović
2023-09-12 14:31                     ` martin-kokos
2023-09-12 15:00                       ` Eddie Chapman
2023-09-12 15:20                         ` Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ0EP42RkKUgo_hWxZpX+1T+rki_cBXtsTJFuRV2=FHL5MpzAg@mail.gmail.com' \
    --to=floppym@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox