Hi, Thanks for the triage so far, Christoph.
> -----Original Message----- > From: Christoph M. Becker <cmbecke...@gmx.de> > Sent: Tuesday, May 8, 2018 10:09 PM > To: Jan Ehrhardt <php...@ehrhardt.nl>; pecl-dev@lists.php.net > Subject: [PECL-DEV] Re: [ANNOUNCEMENT] event-2.4.0RC2 (beta) Released. > > On 08.05.2018 at 20:37, Jan Ehrhardt wrote: > > > I see now that building was tried. > > > > pe.obj : error LNK2019: unresolved external symbol > > bufferevent_openssl_set_allow_dirty_shutdown referenced in function > > event_bevent_allow_ssl_dirty_shutdown_prop_write > > > > pe.obj : error LNK2019: unresolved external symbol > > bufferevent_openssl_get_allow_dirty_shutdown referenced in function > > event_bevent_allow_ssl_dirty_shutdown_prop_read > > > > Strange failures, because in bufferevent_ssl.h this is defined: > > > > EVENT2_EXPORT_SYMBOL > > int bufferevent_openssl_get_allow_dirty_shutdown(struct bufferevent > > *bev); > > EVENT2_EXPORT_SYMBOL > > void bufferevent_openssl_set_allow_dirty_shutdown(struct bufferevent > > *bev, > > int allow_dirty_shutdown); > > > > In my PHP 7.2 builds with OpenSSL 1.0.2 I do not run into this error. It > > just compiles fine. > > Note that a few lines above these error messages, > bufferevent_openssl_set_allow_dirty_shutdown is already reported as > being undefined. Apparently, bufferevent_ssl.h is not included since > HAVE_EVENT_OPENSSL_LIB is not defined[1]. It seems that config.w32 is > still checking for the old libraries[2], which have been renamed to > libssl-*.lib and libcrypto-*.lib as of OpenSSL 1.1. > In PHP 7.1+ there's a function SETUP_OPENSSL available for config.w32, but OpenSSL 1.1 is required for PHP 7.2+. I've also checked libevent, it actually supports OpenSSL 1.1.0, but the nmakefiles are not completely synchronized. Anyway, I've also rebuilt libevent now and put it onto the build host. The regression tests look ok so far. There's an additional libevent_openssl.lib required with the latest libevent 2.1.8. So yes, the config.w32 needs quite a rework to support newer libevent and OpenSSL. Seems also the code needs to some adjustment, so builds without OpenSSL are possible. If no one beats me to it, I'll be checking it in a couple of weeks. Regards Anatol