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

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to