coova / coova-chilli

CoovaChilli is an open-source software access controller for captive portal hotspots.
Other
516 stars 258 forks source link

compile error with musl #68

Closed teslamint closed 9 years ago

teslamint commented 9 years ago

Recent OpenWrt trunk switches to musl C library and it breaks coova-chilli to compile. Before that, DD-WRT also switches to musl, and they fix the problem by themselves. Anyway, here's quick and dirty patch for this problem, but I think there's a better and elegant solution exists:

--- a/src/system.h
+++ b/src/system.h
@@ -78,11 +78,6 @@
 #include <sys/stat.h>
 #endif

-#ifdef HAVE_LINUX_SYSINFO_H
-#define _LINUX_KERNEL_H
-#include <linux/sysinfo.h>
-#endif
-
 #ifdef HAVE_TIME_H
 #include <time.h>
 #endif
@@ -123,6 +118,11 @@
 #include <signal.h>
 #endif

+#ifdef HAVE_SYS_SYSINFO_H
+#define _LINUX_SYSINFO_H
+#include <sys/sysinfo.h>
+#endif
+
 #if defined(__linux__)
 #include <asm/types.h>
 #include <linux/if.h>
@@ -135,10 +135,6 @@
 #include <linux/un.h>
 #endif

-#ifdef HAVE_SYS_SYSINFO_H
-#include <sys/sysinfo.h>
-#endif
-
 #elif defined (__FreeBSD__)  || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__)
 #include <net/if.h>
 #include <net/bpf.h>
@@ -170,10 +166,6 @@
 #include <net/if_tun.h>
 #endif

-#ifdef HAVE_NET_ETHERNET_H
-#include <net/ethernet.h>
-#endif
-
 #ifdef HAVE_ASM_TYPES_H
 #include <asm/types.h>
 #endif
--- a/src/chilli_limits.h
+++ b/src/chilli_limits.h
@@ -18,8 +18,8 @@
  *
  */

-#ifndef _LIMITS_H
-#define _LIMITS_H
+#ifndef _CHILLI_LIMITS_H
+#define _CHILLI_LIMITS_H

 /*
  * extracted from various .h files, needs some cleanup.

Any comments?

jobezic commented 9 years ago

Right!

drkhosla commented 9 years ago

Patch worksforme