Opened 3 years ago

Closed 3 years ago

#61603 closed defect (fixed)

p5-crypt-ssleay @0.72: error: implicit declaration of function 'SSLv3_client_method' is invalid in C99

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: bigsur catalina Cc:
Port: p5-crypt-ssleay

Description

https://build.macports.org/builders/ports-11_arm64-builder/builds/856/steps/install-port/logs/stdio

/usr/bin/clang -c   -fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include -DPERL_USE_SAFE_PUTENV -arch arm64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -O3   -DVERSION=\"0.72\" -DXS_VERSION=\"0.72\"  "-I/opt/local/lib/perl5/5.26/darwin-thread-multi-2level/CORE"   SSLeay.c
SSLeay.xs:152:31: error: implicit declaration of function 'SSLv3_client_method' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
            ctx = SSL_CTX_new(SSLv3_client_method());
                              ^
SSLeay.xs:152:31: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const SSL_METHOD *' (aka 'const struct ssl_method_st *') [-Wint-conversion]
            ctx = SSL_CTX_new(SSLv3_client_method());
                              ^~~~~~~~~~~~~~~~~~~~~
/opt/local/include/openssl/ssl.h:1503:47: note: passing argument to parameter 'meth' here
__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
                                              ^
SSLeay.xs:157:31: error: implicit declaration of function 'SSLv2_client_method' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
            ctx = SSL_CTX_new(SSLv2_client_method());
                              ^
SSLeay.xs:157:31: warning: incompatible integer to pointer conversion passing 'int' to parameter of type 'const SSL_METHOD *' (aka 'const struct ssl_method_st *') [-Wint-conversion]
            ctx = SSL_CTX_new(SSLv2_client_method());
                              ^~~~~~~~~~~~~~~~~~~~~
/opt/local/include/openssl/ssl.h:1503:47: note: passing argument to parameter 'meth' here
__owur SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
                                              ^
2 warnings and 2 errors generated.

Change History (2)

comment:1 Changed 3 years ago by jmroot (Joshua Root)

I'm not sure how this would work even with previous Xcode versions, since these are functions that were removed in openssl 1.1. The replacement is TLS_client_method or the compatibility synonym SSLv23_client_method BTW.

comment:2 Changed 3 years ago by jmroot (Joshua Root)

Owner: set to jmroot
Resolution: fixed
Status: newclosed

In 141cee5817cb5683caf3da1a059255771ed7a350/macports-ports (master):

p5-crypt-ssleay: openssl 1.1 compatibility

Fixes: #61603

Note: See TracTickets for help on using tickets.