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-devis installed, which depends onlibunwind-14-dev(the LLVM libunwind) -
libunwind-14-devalso "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
libunwindanymore 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-unstableimage usingFROM vlc-debian-unstableand 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?