-
Problem report
-
Resolution: Fixed
-
Trivial
-
3.4.0rc1
-
None
-
Debian GNU/Linux testing
-
Sprint 14
-
1
Trunk r70975 compiles with libevent-2.0.22-stable (released 2014-01-05), but does not compile with libevent-2.1.8-stable (released 2017-01-22) used on Debian testing:
$ ./configure --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-net-snmp --with-unixodbc --with-libxml2 --with-libcurl --with-openipmi --with-postgresql --with-openssl --with-ldap --with-libevent=/home/zabbix34/libevent-2.1.8-install --prefix=`pwd` $ make install -------------------------------------------------- ... In file included from /home/zabbix34/libevent-2.1.8-install/include/evutil.h:37:0, from /home/zabbix34/libevent-2.1.8-install/include/event.h:57, from ../../../include/sysinc.h:381, from ../../../include/common.h:23, from ipcservice.c:1: /home/zabbix34/libevent-2.1.8-install/include/event2/util.h:312:25: error: two or more data types in declaration specifiers #define evutil_socket_t int ^ ipcservice.c:60:13: note: in expansion of macro ‘evutil_socket_t’ typedef int evutil_socket_t; ^~~~~~~~~~~~~~~ ipcservice.c:60:1: warning: useless type name in empty declaration typedef int evutil_socket_t; ^~~~~~~ ipcservice.c:62:22: error: static declaration of ‘event_new’ follows non-static declaration static struct event *event_new(struct event_base *ev, evutil_socket_t fd, short what, ^~~~~~~~~ In file included from /home/zabbix34/libevent-2.1.8-install/include/event.h:69:0, from ../../../include/sysinc.h:381, from ../../../include/common.h:23, from ipcservice.c:1: /home/zabbix34/libevent-2.1.8-install/include/event2/event.h:1080:15: note: previous declaration of ‘event_new’ was here struct event *event_new(struct event_base *, evutil_socket_t, short, event_callback_fn, void *); ^~~~~~~~~ ... ipcservice.c: At top level: ipcservice.c:74:13: error: static declaration of ‘event_free’ follows non-static declaration static void event_free(struct event *event) ^~~~~~~~~~ In file included from /home/zabbix34/libevent-2.1.8-install/include/event.h:69:0, from ../../../include/sysinc.h:381, from ../../../include/common.h:23, from ipcservice.c:1: /home/zabbix34/libevent-2.1.8-install/include/event2/event.h:1131:6: note: previous declaration of ‘event_free’ was here void event_free(struct event *); ^~~~~~~~~~ --------------------------------------------------
It should compile according to libevent-2.1.8-stable/whatsnew-2.1.txt:
0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too.