curl 7.48.0 does not build with libressl 2.2.6

Ryan Schmidt ryandesign at macports.org
Mon Mar 28 19:47:57 PDT 2016


On Mar 28, 2016, at 4:36 PM, Kastus Shchuka wrote:

> I understand that I am dealing with a non-standared configuration of macports
> as I use libressl instead of openssl, but still I think it's worth reporting
> the issue here.
> 
> Let me first state that curl 7.47.1 port compiled and installed just fine
> previously with libressl 2.2.6 (current macports version).
> 
> When I tried to upgrade curl to 7.48.0, I encountered this error:
> 
> vtls/openssl.c:739:27: error: too few arguments to function call, single argument 'tid' was not specified
>  ERR_remove_thread_state();
>  ~~~~~~~~~~~~~~~~~~~~~~~ ^
> /opt/local/include/openssl/err.h:351:1: note: 'ERR_remove_thread_state' declared here
> void ERR_remove_thread_state(const CRYPTO_THREADID *tid);
> ^
> 1 error generated.
> 
> I am not sure if ERR_remove_thread_state changed in current libressl 2.3.3,
> I cannot find anything in release notes, but curl 7.48.0 looks definitely out
> of sync with libressl 2.2.6.
> 
> By applying this patch I was able to build curl 7.48.0:
> 
> --- lib/vtls/openssl.c-BKP	2016-03-28 14:15:32.000000000 -0700
> +++ lib/vtls/openssl.c	2016-03-28 14:16:05.000000000 -0700
> @@ -97,7 +97,6 @@
> #define HAVE_ERR_REMOVE_THREAD_STATE 1
> #if (OPENSSL_VERSION_NUMBER >= 0x10100004L)
> /* OpenSSL 1.1.0-pre4 removed the argument! */
> -#define HAVE_ERR_REMOVE_THREAD_STATE_NOARG 1
> #endif
> #endif
> 
> I don't know if the patch breaks the build on openssl, and probably there is
> a better way to work around the issue. 

You should probably work with the developer of curl to come up with the best solution. The problem is unlikely to be limited to MacPorts.





More information about the macports-users mailing list