Error building stable on macOS Mojave (10.14.2)

I’m on macOS Mojave with the px4 environment installed through homebrew. I’m getting the following error when I try to “make px4fmu-v3_default”. I have no problem building on master branch.

ninja: Entering directory `/Users/dlw/Workspace/PX4/Firmware/build/nuttx_px4io-v2_default'
[17/193] Building CXX object src/lib/mixer/CMakeFiles/mixer.dir/mixer.cpp.obj
FAILED: src/lib/mixer/CMakeFiles/mixer.dir/mixer.cpp.obj
/usr/local/bin/arm-none-eabi-g++  -DCONFIG_ARCH_BOARD_PX4IO_V2 -D__DF_NUTTX -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I. -Isrc -Isrc/lib -Isrc/modules -I../../src -I../../src/drivers/boards/px4io-v2 -I../../src/include -I../../src/lib -I../../src/lib/DriverFramework/framework/include -I../../src/lib/matrix -I../../src/modules -I../../src/platforms -INuttX/nuttx/arch/arm/src/armv7-m -INuttX/nuttx/arch/arm/src/chip -INuttX/nuttx/arch/arm/src/common -INuttX/apps/include -Iexternal/Install/include -Isrc/lib/mixer -isystem NuttX/nuttx/include/cxx -isystem NuttX/nuttx/include -fno-common -ffunction-sections -fdata-sections -mcpu=cortex-m3 -mthumb -march=armv7-m -fno-common -ffunction-sections -fdata-sections -g -fno-exceptions -fno-rtti -std=gnu++11 -fno-threadsafe-statics -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -fcheck-new -Wall -Warray-bounds -Wdisabled-optimization -Werror -Wextra -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-field-initializers -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-implicit-fallthrough -Wno-unused-parameter -Wunused-but-set-variable -Wformat=1 -Wdouble-promotion -Wno-missing-field-initializers -Wno-overloaded-virtual -Wreorder -Wno-format-truncation -fvisibility=hidden -include visibility.h -fno-strict-aliasing -fomit-frame-pointer -fno-math-errno -funsafe-math-optimizations -ffunction-sections -fdata-sections -fno-strength-reduce -fno-builtin-printf -Os -DNDEBUG -MD -MT src/lib/mixer/CMakeFiles/mixer.dir/mixer.cpp.obj -MF src/lib/mixer/CMakeFiles/mixer.dir/mixer.cpp.obj.d -o src/lib/mixer/CMakeFiles/mixer.dir/mixer.cpp.obj -c ../../src/lib/mixer/mixer.cpp
In file included from NuttX/nuttx/include/math.h:52:0,
                 from NuttX/nuttx/include/cxx/cmath:46,
                 from ../../src/platforms/px4_defines.h:67,
                 from ../../src/drivers/drv_mixer.h:56,
                 from ../../src/lib/mixer/mixer.h:132,
                 from ../../src/lib/mixer/mixer.cpp:40:
NuttX/nuttx/include/arch/math.h:87:20: error: expected initializer before '_PARAMS'
 extern double atan _PARAMS((double));
                    ^~~~~~~
compilation terminated due to -Wfatal-errors.
[19/193] Building CXX object src/lib/mixer/CMakeFiles/mixer.dir/mixer_helicopter.cpp.obj
FAILED: src/lib/mixer/CMakeFiles/mixer.dir/mixer_helicopter.cpp.obj
/usr/local/bin/arm-none-eabi-g++  -DCONFIG_ARCH_BOARD_PX4IO_V2 -D__DF_NUTTX -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I. -Isrc -Isrc/lib -Isrc/modules -I../../src -I../../src/drivers/boards/px4io-v2 -I../../src/include -I../../src/lib -I../../src/lib/DriverFramework/framework/include -I../../src/lib/matrix -I../../src/modules -I../../src/platforms -INuttX/nuttx/arch/arm/src/armv7-m -INuttX/nuttx/arch/arm/src/chip -INuttX/nuttx/arch/arm/src/common -INuttX/apps/include -Iexternal/Install/include -Isrc/lib/mixer -isystem NuttX/nuttx/include/cxx -isystem NuttX/nuttx/include -fno-common -ffunction-sections -fdata-sections -mcpu=cortex-m3 -mthumb -march=armv7-m -fno-common -ffunction-sections -fdata-sections -g -fno-exceptions -fno-rtti -std=gnu++11 -fno-threadsafe-statics -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -fcheck-new -Wall -Warray-bounds -Wdisabled-optimization -Werror -Wextra -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-field-initializers -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-implicit-fallthrough -Wno-unused-parameter -Wunused-but-set-variable -Wformat=1 -Wdouble-promotion -Wno-missing-field-initializers -Wno-overloaded-virtual -Wreorder -Wno-format-truncation -fvisibility=hidden -include visibility.h -fno-strict-aliasing -fomit-frame-pointer -fno-math-errno -funsafe-math-optimizations -ffunction-sections -fdata-sections -fno-strength-reduce -fno-builtin-printf -Os -DNDEBUG -MD -MT src/lib/mixer/CMakeFiles/mixer.dir/mixer_helicopter.cpp.obj -MF src/lib/mixer/CMakeFiles/mixer.dir/mixer_helicopter.cpp.obj.d -o src/lib/mixer/CMakeFiles/mixer.dir/mixer_helicopter.cpp.obj -c ../../src/lib/mixer/mixer_helicopter.cpp
In file included from NuttX/nuttx/include/math.h:52:0,
                 from NuttX/nuttx/include/cxx/cmath:46,
                 from ../../src/platforms/px4_defines.h:67,
                 from ../../src/drivers/drv_mixer.h:56,
                 from ../../src/lib/mixer/mixer.h:132,
                 from ../../src/lib/mixer/mixer_helicopter.cpp:40:
NuttX/nuttx/include/arch/math.h:87:20: error: expected initializer before '_PARAMS'
 extern double atan _PARAMS((double));
                    ^~~~~~~
compilation terminated due to -Wfatal-errors.
[20/193] Building CXX object src/lib/mixer/CMakeFiles/mixer.dir/mixer_group.cpp.obj
FAILED: src/lib/mixer/CMakeFiles/mixer.dir/mixer_group.cpp.obj
/usr/local/bin/arm-none-eabi-g++  -DCONFIG_ARCH_BOARD_PX4IO_V2 -D__DF_NUTTX -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I. -Isrc -Isrc/lib -Isrc/modules -I../../src -I../../src/drivers/boards/px4io-v2 -I../../src/include -I../../src/lib -I../../src/lib/DriverFramework/framework/include -I../../src/lib/matrix -I../../src/modules -I../../src/platforms -INuttX/nuttx/arch/arm/src/armv7-m -INuttX/nuttx/arch/arm/src/chip -INuttX/nuttx/arch/arm/src/common -INuttX/apps/include -Iexternal/Install/include -Isrc/lib/mixer -isystem NuttX/nuttx/include/cxx -isystem NuttX/nuttx/include -fno-common -ffunction-sections -fdata-sections -mcpu=cortex-m3 -mthumb -march=armv7-m -fno-common -ffunction-sections -fdata-sections -g -fno-exceptions -fno-rtti -std=gnu++11 -fno-threadsafe-statics -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -fcheck-new -Wall -Warray-bounds -Wdisabled-optimization -Werror -Wextra -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-field-initializers -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-implicit-fallthrough -Wno-unused-parameter -Wunused-but-set-variable -Wformat=1 -Wdouble-promotion -Wno-missing-field-initializers -Wno-overloaded-virtual -Wreorder -Wno-format-truncation -fvisibility=hidden -include visibility.h -fno-strict-aliasing -fomit-frame-pointer -fno-math-errno -funsafe-math-optimizations -ffunction-sections -fdata-sections -fno-strength-reduce -fno-builtin-printf -Os -DNDEBUG -MD -MT src/lib/mixer/CMakeFiles/mixer.dir/mixer_group.cpp.obj -MF src/lib/mixer/CMakeFiles/mixer.dir/mixer_group.cpp.obj.d -o src/lib/mixer/CMakeFiles/mixer.dir/mixer_group.cpp.obj -c ../../src/lib/mixer/mixer_group.cpp
In file included from NuttX/nuttx/include/math.h:52:0,
                 from ../../src/lib/mixer/mixer_group.cpp:51:
NuttX/nuttx/include/arch/math.h:87:20: error: expected initializer before '_PARAMS'
 extern double atan _PARAMS((double));
                    ^~~~~~~
compilation terminated due to -Wfatal-errors.
[21/193] Building CXX object src/lib/mixer/CMakeFiles/mixer.dir/mixer_simple.cpp.obj
FAILED: src/lib/mixer/CMakeFiles/mixer.dir/mixer_simple.cpp.obj
/usr/local/bin/arm-none-eabi-g++  -DCONFIG_ARCH_BOARD_PX4IO_V2 -D__DF_NUTTX -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I. -Isrc -Isrc/lib -Isrc/modules -I../../src -I../../src/drivers/boards/px4io-v2 -I../../src/include -I../../src/lib -I../../src/lib/DriverFramework/framework/include -I../../src/lib/matrix -I../../src/modules -I../../src/platforms -INuttX/nuttx/arch/arm/src/armv7-m -INuttX/nuttx/arch/arm/src/chip -INuttX/nuttx/arch/arm/src/common -INuttX/apps/include -Iexternal/Install/include -Isrc/lib/mixer -isystem NuttX/nuttx/include/cxx -isystem NuttX/nuttx/include -fno-common -ffunction-sections -fdata-sections -mcpu=cortex-m3 -mthumb -march=armv7-m -fno-common -ffunction-sections -fdata-sections -g -fno-exceptions -fno-rtti -std=gnu++11 -fno-threadsafe-statics -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -fcheck-new -Wall -Warray-bounds -Wdisabled-optimization -Werror -Wextra -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-field-initializers -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-implicit-fallthrough -Wno-unused-parameter -Wunused-but-set-variable -Wformat=1 -Wdouble-promotion -Wno-missing-field-initializers -Wno-overloaded-virtual -Wreorder -Wno-format-truncation -fvisibility=hidden -include visibility.h -fno-strict-aliasing -fomit-frame-pointer -fno-math-errno -funsafe-math-optimizations -ffunction-sections -fdata-sections -fno-strength-reduce -fno-builtin-printf -Os -DNDEBUG -MD -MT src/lib/mixer/CMakeFiles/mixer.dir/mixer_simple.cpp.obj -MF src/lib/mixer/CMakeFiles/mixer.dir/mixer_simple.cpp.obj.d -o src/lib/mixer/CMakeFiles/mixer.dir/mixer_simple.cpp.obj -c ../../src/lib/mixer/mixer_simple.cpp
In file included from NuttX/nuttx/include/math.h:52:0,
                 from NuttX/nuttx/include/cxx/cmath:46,
                 from ../../src/platforms/px4_defines.h:67,
                 from ../../src/drivers/drv_mixer.h:56,
                 from ../../src/lib/mixer/mixer.h:132,
                 from ../../src/lib/mixer/mixer_simple.cpp:40:
NuttX/nuttx/include/arch/math.h:87:20: error: expected initializer before '_PARAMS'
 extern double atan _PARAMS((double));
                    ^~~~~~~
compilation terminated due to -Wfatal-errors.
[26/193] Generating nuttx/fs/libfs.a
ninja: build stopped: subcommand failed.
make[1]: *** [nuttx_px4io-v2_default] Error 1
[23/998] Building CXX object src/lib/ecl/airdata/CMakeFiles/ecl_airdata.dir/WindEstimator.cpp.obj
FAILED: src/lib/ecl/airdata/CMakeFiles/ecl_airdata.dir/WindEstimator.cpp.obj
/usr/local/bin/arm-none-eabi-g++  -DCONFIG_ARCH_BOARD_PX4FMU_V2 -DMODULE_NAME=\"ecl/airdata\" -D__DF_NUTTX -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I. -Isrc -Isrc/lib -Isrc/modules -I../../src -I../../src/drivers/boards/px4fmu-v2 -I../../src/include -I../../src/lib -I../../src/lib/DriverFramework/framework/include -I../../src/lib/matrix -I../../src/modules -I../../src/platforms -INuttX/nuttx/arch/arm/src/armv7-m -INuttX/nuttx/arch/arm/src/chip -INuttX/nuttx/arch/arm/src/common -INuttX/apps/include -Iexternal/Install/include -I../../src/lib/ecl -isystem NuttX/nuttx/include/cxx -isystem NuttX/nuttx/include -fno-common -ffunction-sections -fdata-sections -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fno-common -ffunction-sections -fdata-sections -g -fno-exceptions -fno-rtti -std=gnu++11 -fno-threadsafe-statics -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -fcheck-new -Wall -Warray-bounds -Wdisabled-optimization -Werror -Wextra -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-field-initializers -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-implicit-fallthrough -Wno-unused-parameter -Wunused-but-set-variable -Wformat=1 -Wdouble-promotion -Wno-missing-field-initializers -Wno-overloaded-virtual -Wreorder -Wno-format-truncation -fvisibility=hidden -include visibility.h -fno-strict-aliasing -fomit-frame-pointer -fno-math-errno -funsafe-math-optimizations -ffunction-sections -fdata-sections -fno-strength-reduce -fno-builtin-printf -Os -DNDEBUG -MD -MT src/lib/ecl/airdata/CMakeFiles/ecl_airdata.dir/WindEstimator.cpp.obj -MF src/lib/ecl/airdata/CMakeFiles/ecl_airdata.dir/WindEstimator.cpp.obj.d -o src/lib/ecl/airdata/CMakeFiles/ecl_airdata.dir/WindEstimator.cpp.obj -c ../../src/lib/ecl/airdata/WindEstimator.cpp
In file included from NuttX/nuttx/include/math.h:52:0,
                 from NuttX/nuttx/include/cxx/cmath:46,
                 from ../../src/platforms/px4_defines.h:67,
                 from ../../src/platforms/px4_log.h:136,
                 from ../../src/lib/ecl/ecl.h:44,
                 from ../../src/lib/ecl/airdata/WindEstimator.hpp:41,
                 from ../../src/lib/ecl/airdata/WindEstimator.cpp:39:
NuttX/nuttx/include/arch/math.h:87:20: error: expected initializer before '_PARAMS'
 extern double atan _PARAMS((double));
                    ^~~~~~~
compilation terminated due to -Wfatal-errors.
[24/998] Building CXX object src/lib/ecl/attitude_fw/CMakeFiles/ecl_attitude_fw.dir/ecl_controller.cpp.obj
FAILED: src/lib/ecl/attitude_fw/CMakeFiles/ecl_attitude_fw.dir/ecl_controller.cpp.obj
/usr/local/bin/arm-none-eabi-g++  -DCONFIG_ARCH_BOARD_PX4FMU_V2 -DMODULE_NAME=\"ecl/attitude_fw\" -D__DF_NUTTX -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I. -Isrc -Isrc/lib -Isrc/modules -I../../src -I../../src/drivers/boards/px4fmu-v2 -I../../src/include -I../../src/lib -I../../src/lib/DriverFramework/framework/include -I../../src/lib/matrix -I../../src/modules -I../../src/platforms -INuttX/nuttx/arch/arm/src/armv7-m -INuttX/nuttx/arch/arm/src/chip -INuttX/nuttx/arch/arm/src/common -INuttX/apps/include -Iexternal/Install/include -I../../src/lib/ecl -isystem NuttX/nuttx/include/cxx -isystem NuttX/nuttx/include -fno-common -ffunction-sections -fdata-sections -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard -fno-common -ffunction-sections -fdata-sections -g -fno-exceptions -fno-rtti -std=gnu++11 -fno-threadsafe-statics -DCONFIG_WCHAR_BUILTIN -D__CUSTOM_FILE_IO__ -fcheck-new -Wall -Warray-bounds -Wdisabled-optimization -Werror -Wextra -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-field-initializers -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-implicit-fallthrough -Wno-unused-parameter -Wunused-but-set-variable -Wformat=1 -Wdouble-promotion -Wno-missing-field-initializers -Wno-overloaded-virtual -Wreorder -Wno-format-truncation -fvisibility=hidden -include visibility.h -fno-strict-aliasing -fomit-frame-pointer -fno-math-errno -funsafe-math-optimizations -ffunction-sections -fdata-sections -fno-strength-reduce -fno-builtin-printf -Os -DNDEBUG -MD -MT src/lib/ecl/attitude_fw/CMakeFiles/ecl_attitude_fw.dir/ecl_controller.cpp.obj -MF src/lib/ecl/attitude_fw/CMakeFiles/ecl_attitude_fw.dir/ecl_controller.cpp.obj.d -o src/lib/ecl/attitude_fw/CMakeFiles/ecl_attitude_fw.dir/ecl_controller.cpp.obj -c ../../src/lib/ecl/attitude_fw/ecl_controller.cpp
In file included from NuttX/nuttx/include/math.h:52:0,
                 from NuttX/nuttx/include/cxx/cmath:46,
                 from ../../src/platforms/px4_defines.h:67,
                 from ../../src/platforms/px4_log.h:136,
                 from ../../src/lib/ecl/ecl.h:44,
                 from ../../src/lib/ecl/attitude_fw/ecl_controller.h:51,
                 from ../../src/lib/ecl/attitude_fw/ecl_controller.cpp:49:
NuttX/nuttx/include/arch/math.h:87:20: error: expected initializer before '_PARAMS'
 extern double atan _PARAMS((double));
                    ^~~~~~~
compilation terminated due to -Wfatal-errors.
[30/998] Generating nuttx/libc/libc.a
FAILED: NuttX/nuttx/libc/libc.a
cd /Users/dlw/Workspace/PX4/Firmware/build/nuttx_px4fmu-v3_default/NuttX/nuttx && find libc -type f -name *.o -delete && make -C libc --quiet --no-print-directory all TOPDIR=/Users/dlw/Workspace/PX4/Firmware/build/nuttx_px4fmu-v3_default/NuttX/nuttx KERNEL=n EXTRADEFINES= >nuttx_build.log
In file included from /Users/dlw/Workspace/PX4/Firmware/build/nuttx_px4fmu-v3_default/NuttX/nuttx/include/math.h:52:0,
                 from ./stdio/lib_libdtoa.c:49,
                 from stdio/lib_libvsprintf.c:224:
/Users/dlw/Workspace/PX4/Firmware/build/nuttx_px4fmu-v3_default/NuttX/nuttx/include/arch/math.h:87:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_PARAMS'
 extern double atan _PARAMS((double));
                    ^~~~~~~
compilation terminated due to -Wfatal-errors.
make[1]: *** [bin/lib_libvsprintf.o] Error 1
FAILED: ../nuttx_px4io-v2_default/nuttx_px4io-v2_default.elf
cd /Users/dlw/Workspace/PX4/Firmware && make --no-print-directory nuttx_px4io-v2_default
[32/998] Generating nuttx/sched/libsched.a
ninja: build stopped: subcommand failed.
make: *** [px4fmu-v3_default] Error 1
➜  Firmware git:(stable)

Hello,
I have faced same issue on Ubunty, no errors when compiling master, but this error when compiling for stable 1.8.2 - in my case i have reinstalled compiler for arm.

I reinstalled gcc-arm-none-eabi using homebrew and am still facing the same issue.

Apparently this is due to the latest formula upgrading the release of gcc-arm-none-eabi.

Solved this using the following:

brew unlink gcc-arm-none-eabi
brew install gcc-arm-none-eabi-74