Q:

Install libmad on Mac OS X Lion: "error: CPU you selected does not support x86-64 instruction set"

I am trying to install a program that requires the libmad (MPEG audio decoder library) library on Mac OS X 10.7 Lion, but installing libmad.0.15.b results in this error:
version.c:1: error: CPU you selected does not support x86-64 instruction set

That library installs fine on OS X 10.5. Is it a 64-bit compatibility issue? I can't find any specific instructions or documents regarding installing on Lion. Any suggestions?
Thanks.

A:

By default, the C and C++ compilers on Snow Leopard and newer generate 64-bit binaries, not 32-bit as in older versions of OS X. The libmad configure script apparently hasn't been changed to cope with this, and so generates build commands that cause the 32/64 bit conflict you see.
That means one way to fix it is to force a 32-bit build. 
But, it's easy enough to clue the configure script into the correct CPU type. For Lion:
$ ./configure x86_64-apple-darwin11.3.0

For Snow Leopard, change the kernel version:
$ ./configure x86_64-apple-darwin10.6.0

A:

This is an old question, but I believe I have a better answer than Warren Young's.
By default, libmad-0.15.1b is configured to default to using -march i486 when it is built on a *86 architecture that it doesn't recognize.  You can disable this behavior, and get it building on your 64 bit Mountain Lion platform, by changing this line
        i?86-*)           arch="i486" ;;

in ./libmad-0.15.1b/configure.ac to this line:      
        i?86-*)           arch="" ;;

This should enable libmad to build for whatever architecture the system actually is, instead of forcing i486.

