Redefinition of symbols is not allowed with GCC < 4.3 and is a warning in clang https://sourceforge.net/p/isync/bugs/35/ --- src/socket.c.orig 2017-10-01 03:42:35.000000000 -0500 +++ src/socket.c 2017-10-04 01:06:00.000000000 -0500 @@ -36,15 +36,6 @@ #include #include #include -#ifdef HAVE_LIBSSL -# include -# include -# include -# if OPENSSL_VERSION_NUMBER < 0x10100000L -# define X509_OBJECT_get0_X509(o) ((o)->data.x509) -# define X509_STORE_get0_objects(o) ((o)->objs) -# endif -#endif enum { SCK_CONNECTING, --- src/socket.h.orig 2017-10-01 03:42:35.000000000 -0500 +++ src/socket.h 2017-10-04 01:06:15.000000000 -0500 @@ -30,9 +30,13 @@ #endif #ifdef HAVE_LIBSSL -typedef struct ssl_st SSL; -typedef struct ssl_ctx_st SSL_CTX; -typedef struct stack_st _STACK; +# include +# include +# include +# if OPENSSL_VERSION_NUMBER < 0x10100000L +# define X509_OBJECT_get0_X509(o) ((o)->data.x509) +# define X509_STORE_get0_objects(o) ((o)->objs) +# endif enum { SSLv3 = 2,