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])

Reply via email to