Subject: bug#435: [vlc] Unable to build the vlc package as it requires libsystemd-dev

From: Andrey ``Bass'' Shcheglov <[email-masked]>
Date: Thu, 30 Apr 2020 00:19:11 +0300

Package: vlc
Version: 3.0.8-0+deb10u1
Severity: normal

Dear Maintainer,

I'm trying to build the vlc package from source, and can't do so
because it lists libsystemd-dev as a build dependency, and I have
libelogind-dev installed instead:

> # aptitude build-dep vlc
> The following NEW packages will be installed:
>   libsystemd-dev libsystemd0{a} 
> 0 packages upgraded, 2 newly installed, 0 to remove and 0 not
> upgraded. Need to get 322 kB/652 kB of archives. After unpacking 1665
> kB will be used. The following packages have unmet dependencies:
>  libelogind-dev-doc : Conflicts: libsystemd-dev but 241-7~deb10u3 is
> to be installed libelogind0 : Conflicts: libsystemd0 but
> 241-7~deb10u3 is to be installed libelogind0:i386 : Conflicts:
> libsystemd0 but 241-7~deb10u3 is to be installed The following
> actions will resolve these dependencies:
> 
>      Keep the following packages at their current version:
> 1)     libsystemd-dev [Not Installed]                     
> 2)     libsystemd0 [Not Installed]                        

I understand this is not a vlc-only problem but rather that of any
package which is not forked in Devuan and is fetched from debian.org
unaltered, but there're multiple solutions which can be attemped:

1. For vlc, debian/control can be changed in such a way that build
   depends on
   libsystemd-dev [linux-any] | libelogind-dev [linux-any]
   I'm not sure this will be accepted upstream (at Debian), though.

2. libelogind-dev can be changed so that it also provides
   libsystemd-dev, similarly to the way libelogind0 provides
   libsystemd0.

3. Both of the above.

Please consider the alternatives and reassign accordingly.

Regards,
Andrey.

-- System Information:
Distributor ID:	Debian
Description:	Devuan GNU/Linux 3 (beowulf)
Release:	3
Codename:	beowulf
Architecture: x86_64

Kernel: Linux 4.19.0-8-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE,
TAINT_UNSIGNED_MODULE Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8
(charmap=UTF-8), LANGUAGE=ru_RU.UTF-8 (charmap=UTF-8) Shell: /bin/sh
linked to /bin/dash Init: sysvinit (via /sbin/init)

Versions of packages vlc depends on:
ii  vlc-bin                  3.0.8-0+deb10u1
ii  vlc-plugin-base          3.0.8-0+deb10u1
ii  vlc-plugin-qt            3.0.8-0+deb10u1
ii  vlc-plugin-video-output  3.0.8-0+deb10u1

Versions of packages vlc recommends:
ii  vlc-l10n                   3.0.8-0+deb10u1
ii  vlc-plugin-notify          3.0.8-0+deb10u1
ii  vlc-plugin-samba           3.0.8-0+deb10u1
ii  vlc-plugin-skins2          3.0.8-0+deb10u1
ii  vlc-plugin-video-splitter  3.0.8-0+deb10u1
ii  vlc-plugin-visualization   3.0.8-0+deb10u1

vlc suggests no packages.

Versions of packages libvlc-bin depends on:
ii  libc6    2.28-10
ii  libvlc5  3.0.8-0+deb10u1

Versions of packages libvlc5 depends on:
ii  libc6        2.28-10
ii  libvlccore9  3.0.8-0+deb10u1

Versions of packages libvlc5 recommends:
ii  libvlc-bin  3.0.8-0+deb10u1

Versions of packages vlc-bin depends on:
ii  libc6       2.28-10
ii  libvlc-bin  3.0.8-0+deb10u1
ii  libvlc5     3.0.8-0+deb10u1

Versions of packages vlc-plugin-base depends on:
ii  liba52-0.7.4                         0.7.4-19
ii  libaom0                              1.0.0-3
ii  libarchive13                         3.3.3-4+deb10u1
ii  libaribb24-0                         1.0.3-2
ii  libasound2                           1.1.8-1
ii  libass9                              1:0.14.0-2
ii  libavahi-client3                     0.7-4+b1
ii  libavahi-common3                     0.7-4+b1
ii  libavc1394-0                         0.5.4-5
ii  libavcodec58                         7:4.1.4-1~deb10u1
ii  libavformat58                        7:4.1.4-1~deb10u1
ii  libavutil56                          7:4.1.4-1~deb10u1
ii  libbasicusageenvironment1            2018.11.26-1.1
ii  libbluray2                           1:1.1.0-1
ii  libc6                                2.28-10
ii  libcairo2                            1.16.0-4
ii  libcddb2                             1.3.2-6
ii  libchromaprint1                      1.4.3-3
ii  libcrystalhd3                        1:0.0~git20110715.fdd2f19-13
ii  libdbus-1-3                          1.12.16-1+devuan2
ii  libdc1394-22                         2.2.5-1
ii  libdca0                              0.0.6-1
ii  libdvbpsi10                          1.3.2-1
ii  libdvdnav4                           6.0.0-1
ii  libdvdread4                          6.0.1-1
ii  libebml4v5                           1.3.6-2
ii  libelogind0 [libsystemd0]            241.4-2
ii  libeudev1 [libudev1]                 3.2.7-6
ii  libfaad2                             2.8.8-3
ii  libflac8                             1.3.2-3
ii  libfontconfig1                       2.13.1-2
ii  libfreetype6                         2.9.1-3+deb10u1
ii  libfribidi0                          1.0.5-3.1+deb10u1
ii  libgcc1                              1:8.3.0-6
ii  libgcrypt20                          1.8.4-5
ii  libglib2.0-0                         2.58.3-2+deb10u2
ii  libgnutls30                          3.6.7-4+deb10u2
ii  libgpg-error0                        1.35-1
ii  libgroupsock8                        2018.11.26-1.1
ii  libharfbuzz0b                        2.3.1-1
ii  libixml10                            1:1.8.4-2
ii  libjpeg62-turbo                      1:1.5.2-2+b1
ii  libkate1                             0.4.1-9
ii  liblirc-client0                      0.10.1-5.2
ii  liblivemedia64                       2018.11.26-1.1
ii  liblua5.2-0                          5.2.4-1.1+b2
ii  libmad0                              0.15.1b-10
ii  libmatroska6v5                       1.4.9-1+deb10u1
ii  libmicrodns0                         0.0.10-1
ii  libmpcdec6                           2:0.1~r495-1+b2
ii  libmpeg2-4                           0.5.1-8
ii  libmpg123-0                          1.25.10-2
ii  libmtp9                              1.1.16-2
ii  libncursesw6                         6.1+20181013-2+deb10u2
ii  libnfs12                             3.0.0-2
ii  libogg0                              1.3.2-1+b1
ii  libopenmpt-modplug1                  0.4.3-1
ii  libopus0                             1.3-1
ii  libpng16-16                          1.6.36-6
ii  libpostproc55                        7:4.1.4-1~deb10u1
ii  libprotobuf-lite17                   3.6.1.3-2
ii  libpulse0                            12.2-4+deb10u1
ii  libraw1394-11                        2.1.2-1+b1
ii  libresid-builder0c2a                 2.1.1-15
ii  librsvg2-2                           2.44.10-2.1
ii  libsamplerate0                       0.1.9-2
ii  libsdl-image1.2                      1.2.12-10+deb10u1
ii  libsdl1.2debian                      1.2.15+dfsg2-4
ii  libsecret-1-0                        0.18.7-1
ii  libshine3                            3.1.1-2
ii  libshout3                            2.4.1-2
ii  libsidplay2                          2.1.1-15
ii  libsndio7.0                          1.5.0-3
ii  libsoxr0                             0.1.2-3
ii  libspatialaudio0                     0.3.0+git20180730+dfsg1-2
ii  libspeex1                            1.2~rc1.2-1+b2
ii  libspeexdsp1                         1.2~rc1.2-1+b2
ii  libssh2-1                            1.8.0-2.1
ii  libstdc++6                           8.3.0-6
ii  libswscale5                          7:4.1.4-1~deb10u1
ii  libtag1v5                            1.11.1+dfsg.1-0.3
ii  libtheora0                           1.1.1+dfsg.1-15
ii  libtinfo6                            6.1+20181013-2+deb10u2
ii  libtwolame0                          0.3.13-4
ii  libudev1                             1:3.2.7+devuan1.1
ii  libupnp13                            1:1.8.4-2
ii  libusageenvironment3                 2018.11.26-1.1
ii  libva-drm2                           2.4.0-1
ii  libva2                               2.4.0-1
ii  libvlccore9 [vlc-plugin-abi-3-0-0f]  3.0.8-0+deb10u1
ii  libvorbis0a                          1.3.6-2
ii  libvorbisenc2                        1.3.6-2
ii  libx264-155                          2:0.155.2917+git0a84d98-2
ii  libx265-165                          2.9-4
ii  libxcb-keysyms1                      0.4.0-1+b2
ii  libxcb1                              1.13.1-2
ii  libxml2                              2.9.4+dfsg1-7+b3
ii  libzvbi0                             0.2.35-16
ii  vlc-data                             3.0.8-0+deb10u1
ii  zlib1g                               1:1.2.11.dfsg-1

Versions of packages vlc-plugin-base recommends:
ii  xdg-utils  1.1.3-1

Versions of packages vlc-plugin-base suggests:
ic  libdvd-pkg [libdvdcss2]  1.4.0-1-2

Versions of packages vlc-plugin-notify depends on:
ii  libc6                                2.28-10
ii  libgdk-pixbuf2.0-0                   2.38.1+dfsg-1
ii  libglib2.0-0                         2.58.3-2+deb10u2
ii  libgtk-3-0                           3.24.5-1
ii  libnotify4                           0.7.7-4
ii  libvlccore9 [vlc-plugin-abi-3-0-0f]  3.0.8-0+deb10u1

Versions of packages vlc-plugin-qt depends on:
ii  libc6                                2.28-10
ii  libgcc1                              1:8.3.0-6
ii  libqt5core5a                         5.11.3+dfsg1-1+deb10u2
ii  libqt5gui5                           5.11.3+dfsg1-1+deb10u2
ii  libqt5svg5                           5.11.3-2
ii  libqt5widgets5                       5.11.3+dfsg1-1+deb10u2
ii  libqt5x11extras5                     5.11.3-2
ii  libstdc++6                           8.3.0-6
ii  libvlccore9 [vlc-plugin-abi-3-0-0f]  3.0.8-0+deb10u1
ii  libwayland-client0                   1.16.0-1
ii  libx11-6                             2:1.6.7-1

Versions of packages vlc-plugin-qt recommends:
ii  vlc-bin  3.0.8-0+deb10u1

Versions of packages vlc-plugin-skins2 depends on:
ii  fonts-freefont-ttf                   20120503-9
ii  libc6                                2.28-10
ii  libfreetype6                         2.9.1-3+deb10u1
ii  libfribidi0                          1.0.5-3.1+deb10u1
ii  libgcc1                              1:8.3.0-6
ii  libstdc++6                           8.3.0-6
ii  libvlccore9 [vlc-plugin-abi-3-0-0f]  3.0.8-0+deb10u1
ii  libx11-6                             2:1.6.7-1
ii  libxext6                             2:1.3.3-1+b2
ii  libxinerama1                         2:1.1.4-2
ii  libxpm4                              1:3.5.12-1
ii  vlc-plugin-qt                        3.0.8-0+deb10u1

Versions of packages vlc-plugin-skins2 recommends:
ii  vlc-bin  3.0.8-0+deb10u1

Versions of packages vlc-plugin-video-output depends on:
ii  libaa1                               1.4p5-46
ii  libavcodec58                         7:4.1.4-1~deb10u1
ii  libavutil56                          7:4.1.4-1~deb10u1
ii  libc6                                2.28-10
ii  libcaca0                             0.99.beta19-2.1
ii  libegl1                              1.1.0-1
ii  libgl1                               1.1.0-1
ii  libgles2                             1.1.0-1
ii  libplacebo7                          1.7.0-2
ii  libva-drm2                           2.4.0-1
ii  libva-wayland2                       2.4.0-1
ii  libva-x11-2                          2.4.0-1
ii  libva2                               2.4.0-1
ii  libvlccore9 [vlc-plugin-abi-3-0-0f]  3.0.8-0+deb10u1
ii  libwayland-client0                   1.16.0-1
ii  libwayland-egl1                      1.16.0-1
ii  libx11-6                             2:1.6.7-1
ii  libxcb-keysyms1                      0.4.0-1+b2
ii  libxcb-shm0                          1.13.1-2
ii  libxcb-xv0                           1.13.1-2
ii  libxcb1                              1.13.1-2

Versions of packages vlc-plugin-video-splitter depends on:
ii  libc6                                2.28-10
ii  libvlccore9 [vlc-plugin-abi-3-0-0f]  3.0.8-0+deb10u1
ii  libxcb-randr0                        1.13.1-2
ii  libxcb1                              1.13.1-2

Versions of packages vlc-plugin-visualization depends on:
ii  libc6                                2.28-10
ii  libgl1                               1.1.0-1
ii  libvlccore9 [vlc-plugin-abi-3-0-0f]  3.0.8-0+deb10u1

-- no debconf information

---

From: Mark Hindley <[email-masked]>
Date: Thu, 30 Apr 2020 09:50:20 +0100

> libelogind-dev installed instead:

Andrey,

Thanks.

As you have discovered, building directly on the host system does not 
work if the system uses elogind and the package has a build dependency 
on libsystemd-dev.  However, it will work fine in a build chroot. Try 
using pbuilder and the pbdebuild  command and/or cowbuilder.
There are also other options that should work, but I have not used 
myself, like qemu-builder and sbuild.

Changing all the libsystemd-dev dependencies present in Debian would 
require forking about 200 additional packages and is not feasible at the 
moment.

However, we ought to add this build technique to the release notes so 
that users know that plain debuild will not work on an elogind system if 
the package has libsystemd-dev build dependency.

Let me know if you still have problems.

Mark

---

From: "Andrey ``Bass'' Shcheglov" <[email-masked]>
Date: Thu, 30 Apr 2020 15:41:08 +0300

Mark,

thank you for your response.

Yes, documenting build instructions wherever those are different from
Debian's would be great!

Still, could you comment on how (in)compatible libsystemd-dev and
libelogind-dev are?

Looking at the content of the binary packages, both contain almost the
same set of headers.
Is there any chance one will "virtually" provide the other?

Regards,
Andrey.

---

From: Mark Hindley <[email-masked]>
Date: Thu, 30 Apr 2020 13:59:58 +0100

> Still, could you comment on how (in)compatible libsystemd-dev and

They are reasonably compatible from a compilation perspective. That is by
design.  However, Debian only compiles against libsystemd-dev and it is not
known whether all packages would compile against libelogind-dev without some
sort of patching in of explicit support. Certainly patching was required for
policykit-1, although those changes have now been accepted upstream.

> Is there any chance one will "virtually" provide the other?

That is currently the case for libsystemd0/libelogind0 only at runtime. Doing
libelogind-dev provides libsystemd-dev concerns me as I think we might introduce
FTBFS until we know that all source packages will build with either. Given the
number of source packages in Debian, that is a lot of testing. Hence why we
currently follow Debian and only build against libsystemd-dev.

Does that make sense?

Mark

---

From: "Andrey ``Bass'' Shcheglov" <[email-masked]>
Date: Thu, 30 Apr 2020 16:05:29 +0300

Yes, makes perfect sense.

Thank you once again for your comments, Mark.

Regards,
Andrey.

---

From: Mark Hindley <[email-masked]>
Date: Thu, 30 Apr 2020 17:36:36 +0100

Control: reassign -1 devuan-project
Control: retitle -1 Need to document techniques for building packages depending on libsystemd-dev 

> Yes, makes perfect sense.

Good.

I am going to reassign this to devuan-project as it isn't really a vlc bug.

Mark

---

From: Mark Hindley <[email-masked]>
Date: Fri, 19 Jun 2020 19:02:30 +0100

Control: -1 reassign libelogind0

Andrey,

I intend to document this in libelogind0's README.Debian which will be uploaded
shortly.

Reassigning

Mark

---

From: Andrey ``Bass'' Shcheglov <[email-masked]>
Date: Fri, 19 Jun 2020 21:07:53 +0300

Thank you Mark.

-- 
Regards,
Andrey ``Bass'' Shcheglov.

---

From: Mark Hindley <[email-masked]>
Date: Fri, 19 Jun 2020 20:34:49 +0100

reassign 435 libelogind0

---

From: "Devuan bug Tracking System" <[email-masked]>
Date: Sun, 21 Jun 2020 18:48:07 +0000

This is an automatic notification regarding your bug report
which was filed against the libelogind0 package:

#435: Need to document techniques for building packages depending on libsystemd-dev

It has been closed by [email-masked].

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact [email-masked] by
replying to this email.

-- 
435: https://bugs.devuan.org/cgi/bugreport.cgi?bug=435
Devuan Bug Tracking System
Contact [email-masked] with problems

Subject: #435: fixed in src:elogind version 243.8-1
From: [email-masked]
To: [email-masked]
Date: Sun, 21 Jun 2020 17:55:06 +0000

Version: 243.8-1

Source package elogind (243.8-1) added to Devuan suite unstable.

This closes bug report 435.

Thanks

DAK managing the Devuan archive

Format: 1.8
Date: Sat, 20 Jun 2020 10:59:46 +0100
Source: elogind
Binary: elogind libelogind0 libelogind-dev libelogind-dev-doc libpam-elogind
Architecture: source
Version: 243.8-1
Distribution: unstable
Urgency: medium
Maintainer: Mark Hindley <[email-masked]>
Changed-By: Mark Hindley <[email-masked]>
Description:
 elogind    - user, seat and session management daemon
 libelogind-dev - user, seat and session management library (development files)
 libelogind-dev-doc - user, seat and session management library (development documentat
 libelogind0 - user, seat and session management library
 libpam-elogind - elogind PAM module
Closes: 435 482
Changes:
 elogind (243.8-1) unstable; urgency=medium
 .
   * New upstream version 243.8.
   * d/control: update Vcs-* fields following Gitea migration.
   * Change rootlibdir to /lib (closes: #482).
   * Document solutions for libelogind0/libsystemd-dev build-depends
     conflict. (closes: #435).
Checksums-Sha1:
 54666719caff55d24d3065ec794fa5e10df5da96 2081 elogind_243.8-1.dsc
 fdef1db3bb7586db72664e1a5bfc50498f1b98d3 1338410 elogind_243.8.orig.tar.gz
 cb74bbaa4383cc1c9f8101a5d345731d79a1a5da 8336 elogind_243.8-1.debian.tar.xz
 389bf6cf33c08e92d6665040efd1528eabe5847d 4967 elogind_243.8-1_source.buildinfo
Checksums-Sha256:
 3845e78b8a993b358d6e092399fccef60b64451302d408b4fa226f403d5ebdaf 2081 elogind_243.8-1.dsc
 c6c3a58d05cb30dfc671fdc012c4d8c42b42e0a1db205ca2b0be3744cfa9ec9f 1338410 elogind_243.8.orig.tar.gz
 0a330de42f984d937b43087617a887fc912f4c93a746ae594fc44e9843df3677 8336 elogind_243.8-1.debian.tar.xz
 ef2debe48e23bb899edc43215eeecd7cfa937f4378c3d7a03ad0b67d822c01ea 4967 elogind_243.8-1_source.buildinfo
Files:
 8fdac595c10fa86bd9f92d0a8cebae72 2081 admin optional elogind_243.8-1.dsc
 3fc20c4258f62b28ebaa3e7fbe10696f 1338410 admin optional elogind_243.8.orig.tar.gz
 9c01a4ab057f926d65de3cb818611469 8336 admin optional elogind_243.8-1.debian.tar.xz
 83b7934afb4be90e7699772b151ffde7 4967 admin optional elogind_243.8-1_source.buildinfo

Subject: [vlc] Unable to build the vlc package as it requires libsystemd-dev
From: Andrey ``Bass'' Shcheglov <[email-masked]>
To: Devuan Bug Tracking System <[email-masked]>
Date: Thu, 30 Apr 2020 00:19:11 +0300

Package: vlc
Version: 3.0.8-0+deb10u1
Severity: normal

Dear Maintainer,

3. Both of the above.

Regards,
Andrey.

-- System Information:
Distributor ID:	Debian

---

From: Andrew Bower <[email-masked]>
Date: Tue, 28 Jan 2025 16:25:54 +0000

Hi Mark,

> currently follow Debian and only build against libsystemd-dev.

What's the difference with Debian that means I don't have this problem
there? I.e., I can merrily install libsystemd-dev without losing my
desktop integration.

Thanks,

Andrew

---

From: Mark Hindley <[email-masked]>
Date: Tue, 28 Jan 2025 16:58:42 +0000

> there? I.e., I can merrily install libsystemd-dev without losing my

Because on Devuan I presume you have libelogind0 and libelogind-compat
installed. libelogind0 conflicts with libsystemd0 and therefore
libsystemd-dev. To build vlc on Devuan you have to use libelogind-dev.

On (recent) Debian, elogind uses libsystemd0-compatible cgroups, libelogind0
only exists as a transitional package to pull in libsystemd0 and you can happily
install libsystemd-dev.

To build on Devuan without hosing your desktop integration, use a
pbuilder/cowbuilder/sbuild/whatever build chroot. It is better practice to build
that way anyhow. Within the chroot, you will be able to install libsystemd-dev
and the build will be fine.

HTH

Mark