I've tried to build pulse audio on OS X 10.8.2 with the following configure options: ./autogen.sh --prefix=/Library/Frameworks/PulseAudio.framework/Contents/MacOS --enable-mac-universal --disable-dependency-tracking --disable-jack --disable-glib2 --disable-hal --disable-bluez --disable-dbus --disable-avahi --with-mac-version-min=10.7 --with-mac-sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk I've tried to build it with both gcc and clang, versions from latest Xcode (4.5); $ clang -v Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.2.0 Thread model: posix $ gcc -v [18:11:42] Using built-in specs. Target: i686-apple-darwin11 Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1 Thread model: posix gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) clang output: CC libpulsecore_2.98_la-svolume_mmx.lo pulsecore/svolume_mmx.c:108:43: error: register %rcx is only available in 64-bit mode " je 2f \n\t" ^ <inline asm>:5:9: note: instantiated into assembly here movd (%rcx, %edi, 4), %mm0 ^~~~ pulsecore/svolume_mmx.c:124:43: error: register %rcx is only available in 64-bit mode "3: \n\t" /* do samples in groups of 2 */ ^ <inline asm>:33:9: note: instantiated into assembly here movq (%rcx, %edi, 4), %mm0 ^~~~ pulsecore/svolume_mmx.c:137:43: error: register %rcx is only available in 64-bit mode "5: \n\t" /* do samples in groups of 4 */ ^ <inline asm>:59:9: note: instantiated into assembly here movq (%rcx, %edi, 4), %mm0 ^~~~ pulsecore/svolume_mmx.c:138:43: error: register %rcx is only available in 64-bit mode " movq (%q1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */ ^ <inline asm>:60:10: note: instantiated into assembly here movq 8(%rcx, %edi, 4), %mm2 ^~~~ pulsecore/svolume_mmx.c:181:43: error: register %rcx is only available in 64-bit mode " je 2f \n\t" ^ <inline asm>:9:9: note: instantiated into assembly here movd (%rcx, %edi, 4), %mm0 ^~~~ pulsecore/svolume_mmx.c:199:43: error: register %rcx is only available in 64-bit mode "3: \n\t" /* do samples in groups of 2 */ ^ <inline asm>:39:9: note: instantiated into assembly here movq (%rcx, %edi, 4), %mm0 ^~~~ pulsecore/svolume_mmx.c:214:43: error: register %rcx is only available in 64-bit mode "5: \n\t" /* do samples in groups of 4 */ ^ <inline asm>:73:9: note: instantiated into assembly here movq (%rcx, %edi, 4), %mm0 ^~~~ pulsecore/svolume_mmx.c:215:43: error: register %rcx is only available in 64-bit mode " movq (%q1, %3, 4), %%mm0 \n\t" /* | v1h | v1l | v0h | v0l | */ ^ <inline asm>:74:10: note: instantiated into assembly here movq 8(%rcx, %edi, 4), %mm2 ^~~~ 8 errors generated. make[3]: *** [libpulsecore_2.98_la-svolume_mmx.lo] Error 1 make[2]: *** [install] Error 2 make[1]: *** [install-recursive] Error 1 make: *** [install] Error 2 gcc output: CC libpulsecore_2.98_la-svolume_mmx.lo {standard input}:67:bad register name `%rdx, %edi,4)' {standard input}:95:bad register name `%rdx, %edi,4)' {standard input}:121:bad register name `%rdx, %edi,4)' {standard input}:122:bad register name `%rdx, %edi,4)' {standard input}:201:bad register name `%rdx, %edi,4)' {standard input}:231:bad register name `%rdx, %edi,4)' {standard input}:265:bad register name `%rdx, %edi,4)' {standard input}:266:bad register name `%rdx, %edi,4)' lipo: can't open input file: /var/tmp//ccw2a05M.out (No such file or directory) make[3]: *** [libpulsecore_2.98_la-svolume_mmx.lo] Error 1 make[2]: *** [install] Error 2 make[1]: *** [install-recursive] Error 1 make: *** [install] Error 2
I notified the mailing list about this: http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/14672
It builds fine for x86_64. It just fails to build i386.
We're just disabling this in i386 as the workaround in MacPorts: http://trac.macports.org/browser/trunk/dports/audio/pulseaudio/files/no-buggy-i386-asm.patch
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/528.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.