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

Daniel Mack daniel at caiaq.de
Mon Sep 14 18:08:15 PDT 2009


On Mon, Sep 14, 2009 at 03:55:11PM +0200, Lennart Poettering wrote:
> 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.

I'll try that later. However, compiling this single file with -O1 also
fixes it. Hmm!?

Daniel



More information about the pulseaudio-discuss mailing list