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

Reply via email to