curl 7.48.0 does not build with libressl 2.2.6

Kastus Shchuka macports at tprfct.net
Mon Mar 28 14:36:09 PDT 2016


Hi,

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. 

Thanks,

Kastus


More information about the macports-users mailing list