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

Michael DePaulo mikedep333 at gmail.com
Sun Jan 26 16:32:37 PST 2014


On Sun, Jan 26, 2014 at 1:44 PM, Michael DePaulo <mikedep333 at gmail.com> wrote:
>
> On Jan 26, 2014 12:15 PM, "Tanu Kaskinen" <tanu.kaskinen at linux.intel.com>
> wrote:
>>
>> On Sun, 2014-01-26 at 11:42 +0200, Tanu Kaskinen wrote:
>> > 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.
>>
>> My assumption that autospawning wouldn't be used on Windows turned out
>> to be wrong. I didn't find any evidence from the code that would suggest
>> that autospawing is unsupported on Windows.
>>
>> I sent a patch that implements pa_thread_free_nojoin() for Windows. Can
>> you test it?
>>
>> --
>> Tanu
>>
>
> Me? Yes, I'll test it. Most likely later today.

Hi Tanu and others,

1st of all, I am new to packaging, git, and to the pulseaudio project.
I read the pages on the wiki about patches. I wasn't sure if the patch
file was hosted as a file on a website or on git. So I copied and
pasted Tanu's patch text from the email:
[pulseaudio-discuss] [PATCH] thread-win32: Implement pa_thread_free_nojoin()
but I changed the patch's header to this:
--- src/pulsecore/thread-win32.c.orig
+++ src/pulsecore/thread-win32.c
And I named it:  thread-win32.patch

Anyway, the patch seems to have worked, but now I am getting a different error.

RPM spec:
http://pastebin.com/99uVCh3E

build log:
http://pastebin.com/a4zp35Wq

[   51s]   CCLD     libpulsecommon-4.99.la
[   51s]
[   51s] *** Warning: Linking the shared library
libpulsecommon-4.99.la against the
[   51s] *** static library
/usr/i686-w64-mingw32/sys-root/mingw/lib/libintl.dll.a is not
portable!
[   52s]   CCLD     libpulsecore-foreign.la
[   52s]   CCLD     libpulse.la
[   52s]
[   52s] *** Warning: Linking the shared library libpulse.la against the
[   52s] *** static library
/usr/i686-w64-mingw32/sys-root/mingw/lib/libintl.dll.a is not
portable!
[   52s]   CCLD     libpulse-simple.la
[   52s]
[   52s] *** Warning: Linking the shared library libpulse-simple.la against the
[   52s] *** static library
/usr/i686-w64-mingw32/sys-root/mingw/lib/libintl.dll.a is not
portable!
[   52s]   CCLD     libpulsecore-4.99.la
[   52s]   CCLD     pacat.exe
[   52s]
[   52s] *** Warning: Linking the shared library libpulsecore-4.99.la
against the
[   52s] *** static library
/usr/i686-w64-mingw32/sys-root/mingw/lib/libintl.dll.a is not
portable!
[   52s] libtool: link: Could not determine the host path corresponding to
[   52s] libtool: link:
`/home/abuild/rpmbuild/BUILD/pulseaudio-4.99.2/src/.libs'
[   52s] libtool: link: Continuing, but uninstalled executables may not work.
[   52s] libtool: link: Could not determine the host path corresponding to
[   52s] libtool: link:
`/usr/i686-w64-mingw32/sys-root/mingw/lib:/usr/i686-w64-mingw32/sys-root/mingw/bin:/home/abuild/rpmbuild/BUILD/pulseaudio-4.99.2/src/.libs:/usr/i686-w64-mingw32/sys-root/mingw/lib/pulseaudio'
[   52s] libtool: link: Continuing, but uninstalled executables may not work.
[   52s] pulsecore/.libs/libpulsecore_4.99_la-module.o: In function
`pa_module_exists':
[   52s] /home/abuild/rpmbuild/BUILD/pulseaudio-4.99.2/src/pulsecore/module.c:70:
undefined reference to `rindex'
[   52s] collect2: error: ld returned 1 exit status


More information about the pulseaudio-discuss mailing list