[pulseaudio-discuss] PulseAudio support on Solaris

Brian Cameron brian.cameron at oracle.com
Sat Oct 15 14:29:55 PDT 2011


PulseAudio Team:

The decision was made recently to integrate PulseAudio into Solaris, so
that is pretty exciting.  I am not exactly sure when it will integrate.
At the moment, I am just working to get it building and working okay.

I have encountered a few build issues, and I am wondering if PulseAudio
could be updated to make it more portable and to build more easily on
Solaris.  There are only about 3 changes that need to be made (issue #2
below is a more general issue).

1) The Solaris linker does not allow lazy linking, so client programs
    must link against all libraries that contain symbols used by the
    program.  So I filed this bug:

    https://bugs.freedesktop.org/show_bug.cgi?id=41539

    A proposed patch in this bug shows how we fix this problem on
    Solaris.  This changes the PulseAudio pkg-config files so that they
    also specify that client needs to link against libpulsecommon and
    libpulsecore, since these now contain symbols needed by client
    programs.

    The responses to this bug suggest that this is not desirable since
    these PulseAudio libraries may be updated in future versions and it
    is not desirable to make programs relink on Linux when these
    libraries change.

    Wouldn't a better solution be to just drop the version numbers from
    these libraries, or to only update their version numbers when you
    really want people to need to relink?  Why embed version numbers in
    library names when you want them to work across multiple versions?

2) Bug #41822 highlights that there may be licensing issues with
    PulseAudio.  It says anything that links against libpulsecore is
    GPL'ed.  Now that libpulsecommon and libpulse and the GStreamer Pulse
    plugin now link against libpulsecore, this raises concern that any
    program linking against PulseAudio is GPL, such as anything using
    the GStreamer PulseAudio plugin.  Now that the speex resampler is
    available, maybe it is time to drop libsamplerate as a dependency?

    https://bugs.freedesktop.org/show_bug.cgi?id=41822

    At any rate, on Solaris, we are disabling building with libsamplerate
    for this reason.  It seems a bit ugly that libsamplerate is enabled
    by default by the PulseAudio configure script if it is available if
    there are these sorts of concerns.

3) On Solaris, the PulseAudio GConf module does not compile since the
    "module_info" structure defined in the PulseAudio code conflicts
    with a structure with the same name in /usr/include/sys/stream.h.
    Could the PulseAudio code be updated to use a more unique PulseAudio
    specific name as suggested in the patch in this bug:

    https://bugs.freedesktop.org/show_bug.cgi?id=41823

    Note that sys/stream.h is included by sys/types.h on Solaris, and
    sys/types.h is included in the src/modules/gconf/modules-gconf.c
    PulseAudio file.

4) Some straightforward compile issues that seem appropriate to fix for
    building on Solaris is in the patch in this bug:

    https://bugs.freedesktop.org/show_bug.cgi?id=41538

Thanks,

Brian



More information about the pulseaudio-discuss mailing list