I'm looking for some guidance on how to solve https://bugs.freedesktop.org/show_bug.cgi?id=41539. The problem is that pulsecore/pstream.c (in libpulsecommon) includes pulsecore/core-scache.h (which is itself in and includes from libpulsecore), this is wrong. Apparantly it causes real trouble on Solaris. The header core-scache.h is only included to make the PA_SCACHE_ENTRY_SIZE_MAX preprocessor symbol available. There are several solutions possible. - Move the #define to a file in libpulsecommon. This is the solution proposed in the patch attached to the bug. However, I don't like the proposed new location in memchunk.h, because it is quite unrelated to scache functionality. - Move the #define to pulse/scache.h. In this case we need to guard against the symbol being externally visible. - Simply hardcode the value of 1024*1024*16 in pstream.c, perhaps with a comment that says it should stay in sink with PA_SCACHE_ENTRY_SIZE_MAX. Which solution is preferred? There are also other source-level dependenies from libpulse/libpulsecommon on files from libpulsecore. pulse/volume.c -> pulsecore/sample-util.h pulse/channelmap.c -> pulsecore/sample-util.h pulsecore/core-util.c -> pulsecore/cpu-x86.h Is this also something we want to address? (I can make patches) Maarten