[pulseaudio-discuss] Error compiling sconv_sse.c on Mac OS X

Lennart Poettering lennart at poettering.net
Mon Sep 14 06:55:11 PDT 2009

On Mon, 14.09.09 10:39, Daniel Mack (daniel at caiaq.de) wrote:

> Hi,
> I'm trying to build the current PA git and get the following error
> message. Any ideas?
> Daniel
>   CC     libpulsecore_0.9.17_la-sconv_sse.lo
> pulsecore/sconv_sse.c: In function 'pa_sconv_s16le_from_f32ne_sse':
> pulsecore/sconv_sse.c:47: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
> pulsecore/sconv_sse.c:47: error: 'asm' operand has impossible constraints
> make[3]: *** [libpulsecore_0.9.17_la-sconv_sse.lo] Error 1
> make[2]: *** [all] Error 2
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2

Hmm, I think this means that the asm code uses more registers than gcc
can offer it. Apparently the ABI on MacOS has fewer registers
available for various purposes then the one on Linux? The asm code
currently asks for 8 registers. It might be possible to get rid of one
of them.

A temporary fix could be changing this:

    #if defined (__i386__) || defined (__amd64__)

to this:

    #if !defined(__APPLE__) && (defined (__i386__) || defined (__amd64__))

twice in that file.


Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4

More information about the pulseaudio-discuss mailing list