Compile error I can't figure out

…/…/libraries/AP_Math/AP_Math.h:29:15: error: ‘enable_if’ in namespace ‘std’ does not name a template type
typename std::enable_if<std::is_integral<typename std::common_type<Arithmetic1, Arithmetic2>::type>::value ,bool>::type

I have recloned the repository, checked the environment (ubuntu 18.04) numerous times, tried ./waf distclean. Reran the script, checking for any clues. I’m sure it’s my environment but I can’t find it.


How are you invoking the compilation?

I have seen this before… my memory is failing in what context!

32-bit environment or 64-bit?


64 bit ubuntu, I checked out 3.6.2 , ran git submodule update, waf distclean, waf copter. I have the correct gcc-arm-none-eabi compiler, env is set correctly. I’m totally stumped.

I started over with 3.6.0 and finally got a clean compile. I have no idea what happened, or if 3.6.2 will compile. I have tried to research the actual error but I don’t know enough about using templates in c++ to understand the problem.