coova / coova-chilli

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

Openwrt-libtool: compile error #429

Open htnghia90 opened 6 years ago

htnghia90 commented 6 years ago

Hi everyone, I had problem with OpenWrt-libtool: compile. It is the same here. Anyboy know about issue help me

OpenWrt-libtool: compile: arm-openwrt-linux-muslgnueabi-gcc -DHAVE_CONFIG_H -I. -I.. -I../json -I/home/nnluc073/Buildfirmwave/new/staging_dir/target-arm_cortex-a9+vfpv3_musl_eabi/usr/include -I/home/nnluc073/Buildfirmwave/new/staging_dir/target-arm_cortex-a9+vfpv3_musl_eabi/include -I/home/nnluc073/Buildfirmwave/new/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-7.3.0_musl_eabi/usr/include -I/home/nnluc073/Buildfirmwave/new/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-7.3.0_musl_eabi/include/fortify -I/home/nnluc073/Buildfirmwave/new/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-7.3.0_musl_eabi/include -D_GNU_SOURCE -Wall -Werror -fno-builtin -fno-strict-aliasing -fomit-frame-pointer -funroll-loops -pipe -I../bstring -DDEFCHILLICONF="/etc/chilli.conf" -DDEFPIDFILE="/var/run/chilli.pid" -DDEFSTATEDIR="/var/run" -DSBINDIR="/usr/sbin" -Os -pipe -mcpu=cortex-a9 -mfpu=vfpv3-d16 -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=hard -iremap/home/nnluc073/Buildfirmwave/new/build_dir/target-arm_cortex-a9+vfpv3_musl_eabi/linksys_1900acs_license-1.4+20170811:linksys_1900acs_license-1.4+20170811 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -fpic -MT chilli.lo -MD -MP -MF .deps/chilli.Tpo -c chilli.c -fPIC -DPIC -o .libs/chilli.o In file included from system.h:133:0, from chilli.h:24, from chilli.c:21: /home/nnluc073/Buildfirmwave/new/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-7.3.0_musl_eabi/include/sys/sysinfo.h:10:8: error: redefinition of 'struct sysinfo' struct sysinfo { ^~~ In file included from /home/nnluc073/Buildfirmwave/new/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-7.3.0_musl_eabi/include/linux/kernel.h:5:0, from /home/nnluc073/Buildfirmwave/new/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-7.3.0_musl_eabi/include/linux/netlink.h:5, from system.h:126, from chilli.h:24, from chilli.c:21: /home/nnluc073/Buildfirmwave/new/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-7.3.0_musl_eabi/include/linux/sysinfo.h:8:8: note: originally defined here struct sysinfo { ^~~ Makefile:936: recipe for target 'chilli.lo' failed make[7]: *** [chilli.lo] Error 1

keulu commented 6 years ago

i know this issue

just comment the struct block of sysinfo in your file

/home/nnluc073/Buildfirmwave/new/staging_dir/toolchain-arm_cortex-a9+vfpv3_gcc-7.3.0_musl_eabi/include/sys/sysinfo.h

compile chilli, when it's ok, stop your compile and uncomment your block (cause kmod-pppoe use this struct).

you will maybe have an issue with the if_ether.h file. (same trick, comment / compile / uncomment)

good luck.

htnghia90 commented 6 years ago

Hi keulu I use this command for test compile coovachilli: make package/coova-chilli/{clean,compile} V=s Here is output: make[1]: Entering directory '/home/nnluc073/Buildfirmwave/new' make[2]: Entering directory '/home/nnluc073/Buildfirmwave/new/feeds/packages/net/coova-chilli' rm -rf /home/nnluc073/Buildfirmwave/new/build_dir/target-mips_24kc_musl/coova-chilli-1.3.0+20141128 rm -f /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/stamp/.coova-chilli_installed rm -f /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/packages/coova-chilli.list /home/nnluc073/Buildfirmwave/new/staging_dir/host/packages/coova-chilli.list make[2]: Leaving directory '/home/nnluc073/Buildfirmwave/new/feeds/packages/net/coova-chilli' make[1]: Leaving directory '/home/nnluc073/Buildfirmwave/new' make[1]: Entering directory '/home/nnluc073/Buildfirmwave/new' make[2]: Entering directory '/home/nnluc073/Buildfirmwave/new/package/libs/toolchain' echo "libc" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install echo "libgcc" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install echo "libpthread" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install echo "librt" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/toolchain.default.install make[2]: Leaving directory '/home/nnluc073/Buildfirmwave/new/package/libs/toolchain' make[2]: Entering directory '/home/nnluc073/Buildfirmwave/new/package/firmware/linux-firmware' make[2]: Nothing to be done for 'compile'. make[2]: Leaving directory '/home/nnluc073/Buildfirmwave/new/package/firmware/linux-firmware' make[2]: Entering directory '/home/nnluc073/Buildfirmwave/new/package/firmware/prism54-firmware' make[2]: Nothing to be done for 'compile'. make[2]: Leaving directory '/home/nnluc073/Buildfirmwave/new/package/firmware/prism54-firmware' make[2]: Entering directory '/home/nnluc073/Buildfirmwave/new/package/kernel/linux' echo "kernel" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-lib-crc-ccitt" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-nf-reject" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-nf-reject6" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-nf-ipt" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-nf-ipt6" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-ipt-core" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-nf-conntrack" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-nf-conntrack6" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-nf-nat" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-ipt-conntrack" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-ipt-nat" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-ip6tables" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-tun" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-slhc" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-ppp" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-pppox" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-pppoe" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-nls-base" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-usb-core" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-usb-ledtrig-usbport" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-usb-ehci" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install echo "kmod-usb2" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/linux.default.install make[2]: Leaving directory '/home/nnluc073/Buildfirmwave/new/package/kernel/linux' make[2]: Entering directory '/home/nnluc073/Buildfirmwave/new/package/network/utils/iptables' echo "iptables" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/iptables.default.install echo "ip6tables" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/iptables.default.install echo "libip4tc" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/iptables.default.install echo "libip6tc" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/iptables.default.install echo "libxtables" >> /home/nnluc073/Buildfirmwave/new/staging_dir/target-mips_24kc_musl/pkginfo/iptables.default.install make[2]: Leaving directory '/home/nnluc073/Buildfirmwave/new/package/network/utils/iptables' make[2]: Entering directory '/home/nnluc073/Buildfirmwave/new/feeds/packages/net/coova-chilli' make[2]: Nothing to be done for 'compile'. make[2]: Leaving directory '/home/nnluc073/Buildfirmwave/new/feeds/packages/net/coova-chilli' make[1]: Leaving directory '/home/nnluc073/Buildfirmwave/new'

But when I run make -j1 V=s. It is have same problem in the topic. Could you tell me clearly about that or step by step

My sysinfo.h file like this:

ifndef _SYS_SYSINFO_H

define _SYS_SYSINFO_H

ifdef __cplusplus

extern "C" {

endif

define SI_LOAD_SHIFT 16

struct sysinfo { unsigned long uptime; unsigned long loads[3]; unsigned long totalram; unsigned long freeram; unsigned long sharedram; unsigned long bufferram; unsigned long totalswap; unsigned long freeswap; unsigned short procs, pad; unsigned long totalhigh; unsigned long freehigh; unsigned mem_unit; char __reserved[256]; };

int sysinfo (struct sysinfo *); int get_nprocs_conf (void); int get_nprocs (void); long get_phys_pages (void); long get_avphys_pages (void);

ifdef __cplusplus

}

endif

endif

keulu commented 6 years ago

just comment the complete struct sysinfo

#ifndef _SYS_SYSINFO_H
#define _SYS_SYSINFO_H

#ifdef __cplusplus
extern "C" {
#endif

#define SI_LOAD_SHIFT 16

/*struct sysinfo {
unsigned long uptime;
unsigned long loads[3];
unsigned long totalram;
unsigned long freeram;
unsigned long sharedram;
unsigned long bufferram;
unsigned long totalswap;
unsigned long freeswap;
unsigned short procs, pad;
unsigned long totalhigh;
unsigned long freehigh;
unsigned mem_unit;
char __reserved[256];
};*/

int sysinfo (struct sysinfo *);
int get_nprocs_conf (void);
int get_nprocs (void);
long get_phys_pages (void);
long get_avphys_pages (void);

#ifdef __cplusplus
}
#endif

#endif

and when coova is compiled, uncomment the bloc. it's used by other packages.