Fails to build on OSX #384

Closed
opened 2026-10-05 04:17:23 +02:00 by adam · 4 comments
Owner
src/Csocket.cpp:1382:28: error: use of undeclared identifier 'TLSv1_1_client_method'; did you mean 'TLSv1_client_method'?
                m_ssl_ctx = SSL_CTX_new( TLSv1_1_client_method() );
                                         ^~~~~~~~~~~~~~~~~~~~~
                                         TLSv1_client_method
/usr/include/openssl/ssl.h:1526:13: note: 'TLSv1_client_method' declared here

This is on Yosemite. Looks like the version of openssl is just too old.

``` src/Csocket.cpp:1382:28: error: use of undeclared identifier 'TLSv1_1_client_method'; did you mean 'TLSv1_client_method'? m_ssl_ctx = SSL_CTX_new( TLSv1_1_client_method() ); ^~~~~~~~~~~~~~~~~~~~~ TLSv1_client_method /usr/include/openssl/ssl.h:1526:13: note: 'TLSv1_client_method' declared here ``` This is on Yosemite. Looks like the version of openssl is just too old. <!-- github-sync-id:42047258 -->
adam closed this issue 2026-10-05 04:17:23 +02:00
Author
Owner

Yosemite seems to have broken OpenSSL. The version is "0.9.8za 5 Jun 2014" and does not ship TLSv1.1, yet TLS1_1_VERSION is defined. I'm using 1.0.1i from MacPorts.

Yosemite seems to have broken OpenSSL. The version is "0.9.8za 5 Jun 2014" and does not ship TLSv1.1, yet TLS1_1_VERSION is defined. I'm using 1.0.1i from MacPorts. <!-- github-comment-id:54664044 -->
Author
Owner

Regarding Yosemite, to avoid modifying the system, I built OpenSSL 1.01j locally using the following configuration:

./Configure darwin64-x86_64-cc no-shared --prefix=$FOO/openssl-1.0.1j --openssldir=$FOO/openssl-1.0.1j

And then configured ZNC head (1.5) using:

./configure --with-openssl=$FOO/openssl-1.0.1j

After which I built the znc-palaver module, adding this before make:

export CFLAGS="-I$FOO/openssl-1.0.1j/include"
export LDFLAGS="-I$FOO/openssl-1.0.1j/lib"

Fairly straightforward and seems to work well.

Regarding Yosemite, to avoid modifying the system, I built OpenSSL 1.01j locally using the following configuration: ``` ./Configure darwin64-x86_64-cc no-shared --prefix=$FOO/openssl-1.0.1j --openssldir=$FOO/openssl-1.0.1j ``` And then configured ZNC head (1.5) using: ``` ./configure --with-openssl=$FOO/openssl-1.0.1j ``` After which I built the znc-palaver module, adding this before make: ``` export CFLAGS="-I$FOO/openssl-1.0.1j/include" export LDFLAGS="-I$FOO/openssl-1.0.1j/lib" ``` Fairly straightforward and seems to work well. <!-- github-comment-id:65946103 -->
Author
Owner
Gist for building on Yosemite: https://gist.github.com/bradleysepos/09d213195e97cfebe0ef <!-- github-comment-id:65948377 -->
Author
Owner
https://github.com/znc/znc/pull/807 <!-- github-comment-id:68803109 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#384