Steps to reproduce:
- Clone current master / release 6.4
./configure --enable-server --with-mysql --enable-ipv6 --with-libcurl --with-libxml2 --with-openssl
make dbschema
make install
Result:
Errors are shown when building src/libs/zbxcomms/comms.c *comms.c:* In function '{*}socket_poll_error{*}': *comms.c:373:29:* *error:* '{*}POLLERR{*}' undeclared (first use in this function); did you mean '{*}POLL_ERR{*}'? 373 | if (0 != (revents & {*}POLLERR{*})) | *^~~~~~~* | POLL_ERR *comms.c:373:29:* *note:* each undeclared identifier is reported only once for each function it appears in *comms.c:379:29:* *error:* '{*}POLLHUP{*}' undeclared (first use in this function); did you mean '{*}POLL_HUP{*}'? 379 | if (0 != (revents & {*}POLLHUP{*})) | *^~~~~~~* | POLL_HUP *comms.c:385:29:* *error:* '{*}POLLNVAL{*}' undeclared (first use in this function) 385 | if (0 != (revents & {*}POLLNVAL{*})) | *^~~~~~~~* *comms.c:* In function '{*}zbx_socket_connect{*}': *comms.c:414:25:* *error:* storage size of '{*}pd{*}' isn't known 414 | zbx_pollfd_t {*}pd{*}; | *^~* *comms.c:424:21:* *error:* '{*}POLLOUT{*}' undeclared (first use in this function); did you mean '{*}POLL_OUT{*}'? 424 | pd.events = {*}POLLOUT{*}; | *^~~~~~~* | POLL_OUT In file included from {*}comms.c:21{*}: *comms.h:47:49:* *warning:* implicit declaration of function '{*}poll{*}'; did you mean '{*}powl{*}'? [{*}-Wimplicit-function-declaration{*}] 47 | # define zbx_socket_poll(x, y, z) {*}poll{*}(x, y, z) | *^~~~* *comms.c:426:27:* *note:* in expansion of macro '{*}zbx_socket_poll{*}' 426 | while (0 >= (rc = {*}zbx_socket_poll{*}(&pd, 1, ZBX_SOCKET_POLL_TIMEOUT))) | *^~~~~~~~~~~~~~~* *comms.c:441:49:* *error:* '{*}POLLERR{*}' undeclared (first use in this function); did you mean '{*}POLL_ERR{*}'? 441 | if (POLLOUT != (pd.revents & (POLLOUT | *POLLERR* | POLLHUP | POLLNVAL))) | *^~~~~~~* | POLL_ERR *comms.c:441:59:* *error:* '{*}POLLHUP{*}' undeclared (first use in this function); did you mean '{*}POLL_HUP{*}'? 441 | if (POLLOUT != (pd.revents & (POLLOUT | POLLERR | *POLLHUP* | POLLNVAL))) | *^~~~~~~* | POLL_HUP *comms.c:441:69:* *error:* '{*}POLLNVAL{*}' undeclared (first use in this function) 441 | if (POLLOUT != (pd.revents & (POLLOUT | POLLERR | POLLHUP | {*}POLLNVAL{*}))) | *^~~~~~~~* *comms.c:* In function '{*}zbx_tcp_write{*}': *comms.c:614:25:* *error:* storage size of '{*}pd{*}' isn't known 614 | zbx_pollfd_t {*}pd{*}; | *^~* *comms.c:636:21:* *error:* '{*}POLLOUT{*}' undeclared (first use in this function); did you mean '{*}POLL_OUT{*}'? 636 | pd.events = {*}POLLOUT{*}; | *^~~~~~~* | POLL_OUT *comms.c:* In function '{*}tcp_peek{*}': *comms.c:1058:25:* *error:* storage size of '{*}pd{*}' isn't known 1058 | zbx_pollfd_t {*}pd{*}; | *^~* *comms.c:1067:21:* *error:* '{*}POLLIN{*}' undeclared (first use in this function); did you mean '{*}POLL_IN{*}'? 1067 | pd.events = {*}POLLIN{*}; | *^~~~~~* | POLL_IN *comms.c:* In function '{*}tcp_read{*}': *comms.c:1108:25:* *error:* storage size of '{*}pd{*}' isn't known 1108 | zbx_pollfd_t {*}pd{*}; | *^~* *comms.c:1121:21:* *error:* '{*}POLLIN{*}' undeclared (first use in this function); did you mean '{*}POLL_IN{*}'? 1121 | pd.events = {*}POLLIN{*}; | *^~~~~~* | POLL_IN In file included from {*}../../../include/zbxnum.h:23{*}, from {*}../../../include/zbxalgo.h:23{*}, from {*}../../../include/zbxcomms.h:23{*}, from {*}comms.c:20{*}: *comms.c:* In function '{*}zbx_tcp_accept{*}': *comms.c:1439:55:* *error:* invalid application of '{*}sizeof{*}' to incomplete type '{*}zbx_pollfd_t{*}' {aka '{*}struct pollfd{*}'} 1439 | pds = (zbx_pollfd_t *)zbx_malloc(NULL, sizeof({*}zbx_pollfd_t{*}) * (size_t)s->num_socks); | *^~~~~~~~~~~~* *../../../include/zbxcommon.h:398:78:* *note:* in definition of macro '{*}zbx_malloc{*}' 398 | #define zbx_malloc(old, size) zbx_malloc2(__FILE__, __LINE__, old, {*}size{*}) | *^~~~* *comms.c:1443:20:* *error:* invalid use of undefined type '{*}struct pollfd{*}' 1443 | pds{*}[{*}i].fd = s->sockets[i]; | *^* *comms.c:1443:23:* *error:* invalid use of incomplete typedef '{*}zbx_pollfd_t{*}' {aka '{*}struct pollfd{*}'} 1443 | pds[i]{*}.{*}fd = s->sockets[i]; | *^* *comms.c:1444:20:* *error:* invalid use of undefined type '{*}struct pollfd{*}' 1444 | pds{*}[{*}i].events = POLLIN; | *^* *comms.c:1444:23:* *error:* invalid use of incomplete typedef '{*}zbx_pollfd_t{*}' {aka '{*}struct pollfd{*}'} 1444 | pds[i]{*}.{*}events = POLLIN; | *^* *comms.c:1444:33:* *error:* '{*}POLLIN{*}' undeclared (first use in this function); did you mean '{*}POLL_IN{*}'? 1444 | pds[i].events = {*}POLLIN{*}; | *^~~~~~* | POLL_IN *comms.c:1465:30:* *error:* invalid use of undefined type '{*}struct pollfd{*}' 1465 | if (0 != (pds{*}[{*}i].revents & POLLIN)) | *^* *comms.c:1465:33:* *error:* invalid use of incomplete typedef '{*}zbx_pollfd_t{*}' {aka '{*}struct pollfd{*}'} 1465 | if (0 != (pds[i]{*}.{*}revents & POLLIN)) | *^* *comms.c:* In function '{*}zbx_udp_send{*}': *comms.c:2429:25:* *error:* storage size of '{*}pd{*}' isn't known 2429 | zbx_pollfd_t {*}pd{*}; | *^~* *comms.c:2434:21:* *error:* '{*}POLLOUT{*}' undeclared (first use in this function); did you mean '{*}POLL_OUT{*}'? 2434 | pd.events = {*}POLLOUT{*}; | *^~~~~~~* | POLL_OUT *comms.c:* In function '{*}zbx_udp_recv{*}': *comms.c:2492:25:* *error:* storage size of '{*}pd{*}' isn't known 2492 | zbx_pollfd_t {*}pd{*}; | *^~* *comms.c:2497:21:* *error:* '{*}POLLIN{*}' undeclared (first use in this function); did you mean '{*}POLL_IN{*}'? 2497 | pd.events = {*}POLLIN{*}; | *^~~~~~* | POLL_IN