clang: error: unknown argument: ‘-mno-fused-madd’

Estos días me he venido pegando con un error al instalar algunas librerías en una máquina con OS X 10.9 instalado. Ahora mismo me acaba de pasar al intentar instalar PyGame en un entorno virtual, así que aprovecho y os pongo la receta según lo voy haciendo.

Si al instalar una librería (e.g. pygame) a golpe de pip o easy_install da el siguiente error:

$ pip install hg+http://bitbucket.org/pygame/pygame
Downloading/unpacking hg+http://bitbucket.org/pygame/pygame
...
...
...
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]

clang: note: this will be a hard error (cannot be downgraded to a warning) in the future

error: command 'cc' failed with exit status 1

----------------------------------------
Cleaning up...

Es decir, lo que viene a ser un «ZASCA!!», con exportar las siguientes variables de entorno la instalación funcionará:

$ export CPPFLAGS=-Qunused-arguments
$ export CFLAGS=-Qunused-arguments
$ pip install hg+http://bitbucket.org/pygame/pygame
Downloading/unpacking hg+http://bitbucket.org/pygame/pygame
...
...
...
Successfully installed pygame
Cleaning up...

Y todos felices. Según me ha parecido entender, en una de las últimas actualizaciones (creo que en Marzo de este año), el compilador de C (clang) cuando encuentra una flag desconocida lanza un error (en lugar de un warning como hacía antes). La flag -mno-fused-madd es de GCC y debe ser que a clang no le mola.

Que paséis buen fin de semana!