It appears that as of 6.0.0, /usr/include/c++/6.0.0/cmath does: #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS #include_next <math.h> #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS which appears to have the effect of forcing it to include /usr/include/math.h instead of the math.h from gnulib, which I expect is how gnulib worked with C++ before. This appears to be done now for all of the C++ C library header wrappers, e.g. cstdlib: // Need to ensure this finds the C library's <stdlib.h> not a libstdc++ // wrapper that might already be installed later in the include search path. #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS #include_next <stdlib.h> #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS This is currently causing lots of trouble for octave by effectively disabling gnulib. Since octave uses the GNULIB_NAMESPACE of "gnulib", it is using things like "gnulib::floor", but since the gnulib math.h is no longer included there is no gnulib::floor declared. I seem to be able to work around it at the moment by explicitly including <math.h> before <cmath>, although I still haven't managed to get octave to compile yet. But I expect a better solution will need to be found for a permanent fix. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane orion@xxxxxxxx Boulder, CO 80301 http://www.nwra.com -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx http://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx