libunwind in vlc-debian-unstable
Recently (!241 (merged) and vlc!3815 (merged)), I tried and failed spectacularly to add gstreamer packages to vlc-debian-unstable
, in order to build the gstdecode module in the debian CI job for VLC. At first I thought it was a Debian bug (is it still?), but the issue seems to be with the packages installed into vlc-debian-unstable
:
- gstreamer depends on
libunwind-dev
(the nongnu version) - later,
libc++abi-dev
is installed, which depends onlibunwind-14-dev
(the LLVM libunwind) -
libunwind-14-dev
also "provides"libunwind-dev
, thus the nongnu libunwind is uninstalled along with its correspondinglibunwind.pc
- LLVM libunwind is fundamentally a different library and consequently doesn't provide a
libunwind.pc
- pkg-config doesn't find
libunwind
anymore and thus VLC can't build the gstdecode module
Conclusion: installing libgstreamer-plugins-base1.0-dev
and libc++abi-dev
conflicts in some obscure way.
Now as far as I understand libc++abi-dev
was added specifically for medialibary to build and test with Clang (medialibrary!606 (merged)).
To allow medialibrary building with clang, and VLC with gstdecode, I see two (three) solutions:
- Create a new
medialibary-debian-unstable
image usingFROM vlc-debian-unstable
and have it installlibc++-abi-dev
, instead ofvlc-debian-unstable
. This should force uninstall nongnu libunwind. - Build gstreamer manually without the dependency on nongnu libunwind, in the image directly or in VLC contribs. Either way, this would be a maintenance burden, as there would be another source package which needs to be continually updated alongside regular VLC contribs.
CC @robUx4 @chouquette thoughts?