coova / coova-chilli

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

Compile Error on OpenWrt #35

Closed edy-c closed 9 years ago

edy-c commented 9 years ago

Hi,

compiling Coova Chilli on OpenWrt commit 44e44bdd89ad234e4456fbc658a524bde0e1474a produces the following errors:

redir.c: In function 'redir_main': redir.c:3794:7: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(REDIR_MSG_OPT_REDIR); ^ redir.c:3886:7: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(REDIR_MSG_OPT_REDIR | REDIR_MSG_OPT_PARAMS); ^ redir.c:3908:7: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(REDIR_MSG_OPT_REDIR | REDIR_MSG_OPT_PARAMS | ^ redir.c:3919:7: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(REDIR_MSG_OPT_REDIR); ^ redir.c:3933:7: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(0); ^ redir.c:3944:7: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(REDIR_MSG_OPT_REDIR); ^ redir.c:3968:7: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(0); ^ redir.c:3991:2: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(REDIR_MSG_OPT_REDIR); ^ redir.c:4171:5: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(REDIR_MSG_OPT_REDIR); ^ redir.c:4176:5: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(REDIR_MSG_OPT_REDIR); ^ redir.c:4185:5: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'unsigned int' [-Werror=format=] redir_msg_send(0); ^

commit ddc50bafcb5c4da9213d823e61b0313af54e5ddd is fine, no errors.

Thanks in advance

Edy

wlanmac commented 9 years ago

please confirm it's fixed.

edy-c commented 9 years ago

commit 0f4899372fd27f7c0e314b4e5c9b3f533ec4d03a fixes the redir.c compile error, but now there is a another one in dhcp.c here is the output:

dhcp.c: In function 'dhcp_dns': dhcp.c:2134:5: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'int' [-Werror=format=] plen, newlen, (an_mark - pack), bdiff); ^ dhcp.c:2140:5: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'int' [-Werror=format=] plen, newlen, (an_mark - pack), bdiff, data_len); ^ dhcp.c: In function 'dhcp_relay_decaps': dhcp.c:5374:4: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'ssize_t' [-Werror=format=] inet_ntoa(addr.sin_addr), length); ^ In file included from tun.h:25:0, from chilli.h:26, from dhcp.c:22: pkt.h:464:33: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'int' [-Werror=format=]

define is_8021q(pkt) (((struct pkt_ethhdr8021q_t *)pkt)->tpid == htons(PKT_ETH_PROTO_8021Q))

                             ^

pkt.h:467:47: note: in definition of macro 'sizeofeth2'

define sizeofeth2(is8021q) (PKT_ETH_HLEN+((is8021q)?4:0))

                                           ^

pkt.h:470:32: note: in expansion of macro 'sizeofip2'

define sizeofudp2(is8021q) (sizeofip2(is8021q)+PKT_UDP_HLEN)

                            ^

pkt.h:481:26: note: in expansion of macro 'sizeofudp2'

define sizeofudp(pkt) sizeofudp2(is_8021q(pkt))

                      ^

pkt.h:481:37: note: in expansion of macro 'is_8021q'

define sizeofudp(pkt) sizeofudp2(is_8021q(pkt))

                                 ^

dhcp.c:5471:15: note: in expansion of macro 'sizeofudp' length + sizeofudp(fullpack)); ^ dhcp.c: In function 'dhcp_receive_arp': dhcp.c:5741:38: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Werror=format=] sizeofeth(pack) + sizeof(struct arp_packet_t)); ^ Thanks

Edy

edy-c commented 9 years ago

commit 0ef67c6953714cb7d7a3f4e1b901ee674c13c513 fixes all the compile errors.

Thanks

Edy