Summary: | git master of both pulseaudio and pavucontrol seem to overlink (i.e. pavucontrol requires libpulsecommon-0.99.so) | ||
---|---|---|---|
Product: | PulseAudio | Reporter: | Colin Guthrie <colin> |
Component: | core | Assignee: | pulseaudio-bugs |
Status: | RESOLVED FIXED | QA Contact: | pulseaudio-bugs |
Severity: | normal | ||
Priority: | medium | CC: | arun, colin, lennart |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 40193 |
Description
Colin Guthrie
2011-09-04 02:59:14 UTC
Problem is with the formats code. As it "lives" in libpulsecommon, whenever you use it, this lib is explicitly linked in. Sadly it's quite annoying to fix fully due to having to export functions in the map file that are not officially part of the public API, but such is life. commit 03b97d0e08ed6a8578a94970390c7347d0deb9de Author: Colin Guthrie <colin@...> Date: Sun Sep 4 21:05:14 2011 +0200 formats: Export more functions needed for a clean build. All of these functions are not actually defined in format.h (they are defined in internal.h) and thus should really be included only in libpulsecommon and implemented in a separate source file. However if that approach was taken, and these functions were included in libpulsecommon, then they would have a link time dependancy on libpulse (as these four functions use other pa_format_info_* functions). As the opposite is already true (libpulse depends on libpulsecommon), this is not possible as it creates a circular dependancy. Thus the only option is to just to include these four functions in the map-file, but not actually export any public headers for them. Of course users could use this implementation by defining them in their own headers, but the only practical problem with this approach is naming conflicts which is unlikely to happen. fdo#40616 commit 1595608b0b1da794ad79e42c0131c9cb523e9b0b Author: Colin Guthrie <colin@...> Date: Sun Sep 4 20:40:21 2011 +0200 formats: The format code should be in libpulse, not libpulsecommon Without this change any applications calling e.g. pa_format_info_new() and friends will be explicitly linked against libpulsecommon-$MAJORMINOR.so which is something we specifically avoid as it may contain ABI/API unstable functions. Also ensure we export pa_format_info_from_string() for external use. fdo#40616 Arun, feel free to double check this. (In reply to comment #3) > Arun, feel free to double check this. Just to keep the bug updated -- looks good! |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.