Incompatibilities

This mostly refers to the master branch in GIT.

  • libtool <= 1.5.22 has broken thread-safety support which will cause an assert() to be hit immediately after startup of PA. Upgrade to 1.5.24.
  • glibc <= 2.6.90-13 has a race condition in the dynamic loader, which will cause PA to freeze on startup. Upgrade to 2.6.90-14 at least. (rhbz 284171, mail about this, Debian Bug)
  • libatomic_ops <= 1.2 is broken on amd64. Either add your own (assembler-based) implementations of the atomic operation primitives to pulsecore/atomic.h (and send patches to us! glib, the kernel, glibc could be an inspiration), or update your gcc to something 4.1ish with _sync atomic ops builtins.
  • libatomic_ops <= 1.2 emulates atomic operations using mutexes on many non-mainstream archs, including ARM. This slows down PA immensly. Either add your own implementations of the atomic operation primituves (see above) or upgrade your gcc to a very new gcc 4.1 with builting atomic ops (_sync) support.
  • gcc < 4.1 lacks native atomic ops support (_sync). Only very recent versions of gcc have native atomic ops support. For x86 this requires 4.2.1 or newer. Atomic ops support through the native gcc builtins is highly preferable over the libatomic_ops based implementation.
  • HAL: Only SVN versions have proper support for fast-user-switching. Please upgrade to an SVN version if you want this functionality to work.