This commit which is marged upsteem seams to solves the issue.
https://github.com/OpenLightingProject/ola/commit/3eaed8c98d75efcff3b8e4f893b03634308156c3
I have tests it on my local boards and it builds successfully for mips, mipsel
and mips64el.
A patch which contains these changes is attached.
Could you please include this patch.
Regards,
Radovan
diff --git a/common/io/ExtendedSerial.cpp b/common/io/ExtendedSerial.cpp
index c432464..0921e9e 100644
--- a/common/io/ExtendedSerial.cpp
+++ b/common/io/ExtendedSerial.cpp
@@ -36,6 +36,13 @@
#ifdef HAVE_ASM_TERMIOS_H
// use this not standard termios for custom baud rates
+//
+// On mips architectures, <asm/termios.h> sets some cpp macros which cause
+// <cerrno> (included by <ostream>, used by <ola/Logging.h>) to not define
+// ERANGE, EDOM, or EILSEQ, causing a spectacular compile failure there.
+//
+// Explicitly include <cerrno> now to avoid the issue.
+#include <errno.h>
#include <asm/termios.h>
#endif
diff --git a/configure.ac b/configure.ac
index f73bb8c..7c6873e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -75,8 +75,11 @@ AS_IF([test "x$ac_cv_gnu_plus_plus_11" = xyes],
AC_HEADER_DIRENT
AC_HEADER_RESOLV
AC_HEADER_STDC
+# Required headers (we cannot work without these)
+AC_CHECK_HEADERS([errno.h],[],[AC_MSG_ERROR([Missing a required header])])
+# Other headers (we can work without these, but may need to modify things slightly)
AC_CHECK_HEADERS([arpa/inet.h bits/sockaddr.h fcntl.h float.h limits.h malloc.h netinet/in.h stdint.h stdlib.h string.h strings.h sys/file.h sys/ioctl.h sys/socket.h sys/time.h sys/timeb.h syslog.h termios.h unistd.h])
-AC_CHECK_HEADERS([asm/termios.h assert.h dlfcn.h endian.h errno.h execinfo.h \
+AC_CHECK_HEADERS([asm/termios.h assert.h dlfcn.h endian.h execinfo.h \
linux/if_packet.h math.h net/ethernet.h stropts.h \
sys/param.h sys/types.h sys/uio.h sysexits.h])
AC_CHECK_HEADERS([winsock2.h])