Hi, I'm a developer with MacPorts.
We just updated to isync 1.3.0. I noticed it does not build on older systems. On Mac OS X 10.6 and earlier, which use the Apple-modified version of GCC 4.2.1, one of the errors is:
In file included from /opt/local/include/openssl/crypto.h:128,
from /opt/local/include/openssl/comp.h:5,
from /opt/local/include/openssl/ssl.h:149,
from socket.c:40:
/opt/local/include/openssl/stack.h:72: error: redefinition of typedef ‘_STACK’
socket.h:35: error: previous declaration of ‘_STACK’ was here
In file included from /opt/local/include/openssl/crypto.h:131,
from /opt/local/include/openssl/comp.h:5,
from /opt/local/include/openssl/ssl.h:149,
from socket.c:40:
/opt/local/include/openssl/ossl_typ.h:178: error: redefinition of typedef ‘SSL’
socket.h:33: error: previous declaration of ‘SSL’ was here
/opt/local/include/openssl/ossl_typ.h:179: error: redefinition of typedef ‘SSL_CTX’
socket.h:34: error: previous declaration of ‘SSL_CTX’ was here
It looks like in socket.h you're redefining things that openssl already defines. Old compilers consider that an error. On newer macOS versions which use the clang compiler, the same issues are reported, but as warnings instead of errors:
In file included from socket.c:40:
In file included from /opt/local/include/openssl/ssl.h:149:
In file included from /opt/local/include/openssl/comp.h:5:
In file included from /opt/local/include/openssl/crypto.h:128:
/opt/local/include/openssl/stack.h:72:3: warning: redefinition of typedef '_STACK' is a C11 feature [-Wtypedef-redefinition]
} _STACK; /* Use STACK_OF(...) instead */
^
./socket.h:35:25: note: previous definition is here
typedef struct stack_st _STACK;
^
mv -f .deps/driver.Tpo .deps/driver.Po
In file included from socket.c:40:
In file included from /opt/local/include/openssl/ssl.h:149:
In file included from /opt/local/include/openssl/comp.h:5:
In file included from /opt/local/include/openssl/crypto.h:131:
/opt/local/include/openssl/ossl_typ.h:178:23: warning: redefinition of typedef 'SSL' is a C11 feature [-Wtypedef-redefinition]
typedef struct ssl_st SSL;
^
./socket.h:33:23: note: previous definition is here
typedef struct ssl_st SSL;
^
In file included from socket.c:40:
In file included from /opt/local/include/openssl/ssl.h:149:
In file included from /opt/local/include/openssl/comp.h:5:
In file included from /opt/local/include/openssl/crypto.h:131:
/opt/local/include/openssl/ossl_typ.h:179:27: warning: redefinition of typedef 'SSL_CTX' is a C11 feature [-Wtypedef-redefinition]
typedef struct ssl_ctx_st SSL_CTX;
^
./socket.h:34:27: note: previous definition is here
typedef struct ssl_ctx_st SSL_CTX;
^