[pulseaudio-discuss] Error cross-compiling PulseAudio 4.99.2 for win32

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Sun Jan 26 01:42:44 PST 2014

On Sat, 2014-01-25 at 13:30 -0500, Michael DePaulo wrote:
> I managed to cross-compile 3.0 and 4.0 (I will post the binaries
> soon), but I ran into this error on 4.99.2.
> I am using mingw32 4.8.2 on opensuse 12.3 64-bit.
> Note that I specified "-disable-orc" because I got a different error
> when when ORC was enabled.
> RPM spec:
> http://pastebin.com/KXuk2vcX
> build log:
> http://pastebin.com/v79sheyR
> [   81s]   CCLD     libpulsecommon-4.99.la
> [   81s]
> [   81s] *** Warning: Linking the shared library
> libpulsecommon-4.99.la against the
> [   81s] *** static library
> /usr/i686-w64-mingw32/sys-root/mingw/lib/libintl.dll.a is not
> portable!
> [   81s] pulsecore/.libs/libpulsecommon_4.99_la-lock-autospawn.o: In
> function `unref':
> [   81s] /home/abuild/rpmbuild/BUILD/pulseaudio-4.99.2/src/pulsecore/lock-autospawn.c:123:
> undefined reference to `pa_thread_free_nojoin'
> [   81s] collect2: error: ld returned 1 exit status

Thanks for reporting. pa_thread_free_nojoin() is only used with the
autospawn code, and I think we don't support autospawning on Windows.
Therefore, one possible fix would be to not compile lock-autospawn.c on
Windows, or #ifdef the pa_thread_free_nojoin() call out. Another
solution would be to make a dummy implementation of
pa_thread_free_nojoin() for Windows (src/pulsecore/thread-win32.c). The
function could just crash, since it's not supposed to be called.

I'll have a better look into this later. If someone wants to help by
writing the patch, please notify me so that we don't do duplicate work.


More information about the pulseaudio-discuss mailing list