Up until now i've relied on updating Tor using yum update but the version on the repos is currently 0.2.9.10 . Arm reports this as unrecommended, so compiling from source looks to be the only option.
I pulled down 0.3.0.10, untarred and ran ./configure && make I get these errors-- ---------------------------- In file included from src/common/tortls.c:52:0: src/common/tortls.h:140:15: error: conflicting types for SSL_SESSION_get_master_key STATIC size_t SSL_SESSION_get_master_key(SSL_SESSION *s, uint8_t *out, ^ In file included from src/common/tortls.c:40:0: /usr/local/include/openssl/ssl.h:1725:15: note: previous declaration of SSL_SESSION_get_master_key was here __owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *ssl, ^ src/common/tortls.c: In function find_cipher_by_id: src/common/tortls.c:1331:21: warning: unused variable c [-Wunused-variable] const SSL_CIPHER *c; ^ src/common/tortls.c: In function tor_tls_client_is_using_v2_ciphers: src/common/tortls.c:1508:20: error: dereferencing pointer to incomplete type ciphers = session->ciphers; ^ src/common/tortls.c: At top level: src/common/tortls.c:2402:1: error: conflicting types for SSL_get_client_random SSL_get_client_random(SSL *s, uint8_t *out, size_t len) ^ In file included from src/common/tortls.c:40:0: /usr/local/include/openssl/ssl.h:1721:15: note: previous declaration of SSL_get_client_random was here __owur size_t SSL_get_client_random(const SSL *ssl, unsigned char *out, ^ In file included from src/common/tortls.c:27:0: src/common/tortls.c: In function SSL_get_client_random: src/common/tortls.c:2407:15: error: dereferencing pointer to incomplete type tor_assert(s->s3); ^ src/common/compat.h:196:51: note: in definition of macro PREDICT_UNLIKELY #define PREDICT_UNLIKELY(exp) __builtin_expect(!!(exp), 0) ^ src/common/tortls.c:2407:3: note: in expansion of macro tor_assert tor_assert(s->s3); ^ src/common/tortls.c:2408:16: error: dereferencing pointer to incomplete type memcpy(out, s->s3->client_random, len); ^ src/common/tortls.c: At top level: src/common/tortls.c:2415:1: error: conflicting types for SSL_get_server_random SSL_get_server_random(SSL *s, uint8_t *out, size_t len) ^ In file included from src/common/tortls.c:40:0: /usr/local/include/openssl/ssl.h:1723:15: note: previous declaration of SSL_get_server_random was here __owur size_t SSL_get_server_random(const SSL *ssl, unsigned char *out, ^ In file included from src/common/tortls.c:27:0: src/common/tortls.c: In function SSL_get_server_random: src/common/tortls.c:2420:15: error: dereferencing pointer to incomplete type tor_assert(s->s3); ^ src/common/compat.h:196:51: note: in definition of macro PREDICT_UNLIKELY #define PREDICT_UNLIKELY(exp) __builtin_expect(!!(exp), 0) ^ src/common/tortls.c:2420:3: note: in expansion of macro tor_assert tor_assert(s->s3); ^ src/common/tortls.c:2421:16: error: dereferencing pointer to incomplete type memcpy(out, s->s3->server_random, len); ^ src/common/tortls.c: In function SSL_SESSION_get_master_key: src/common/tortls.c:2432:13: error: dereferencing pointer to incomplete type return s->master_key_length; ^ In file included from src/common/tortls.c:27:0: src/common/tortls.c:2433:30: error: dereferencing pointer to incomplete type tor_assert(len == (size_t)s->master_key_length); ^ src/common/compat.h:196:51: note: in definition of macro PREDICT_UNLIKELY #define PREDICT_UNLIKELY(exp) __builtin_expect(!!(exp), 0) ^ src/common/tortls.c:2433:3: note: in expansion of macro tor_assert tor_assert(len == (size_t)s->master_key_length); ^ src/common/tortls.c:2435:16: error: dereferencing pointer to incomplete type memcpy(out, s->master_key, len); ^ make[1]: *** [src/common/tortls.o] Error 1 make[1]: Leaving directory `/root/tor-0.3.0.10' make: *** [all] Error 2 ----------------------------
I'm running on Centos 7
Alan
On Wed, Aug 16, 2017 at 11:59 AM, Alan tor-relay@clutterbuck.uk wrote:
Up until now i've relied on updating Tor using yum update but the version on the repos is currently 0.2.9.10 . Arm reports this as unrecommended, so compiling from source looks to be the only option.
I pulled down 0.3.0.10, untarred and ran ./configure && make I get these errors--
In file included from src/common/tortls.c:52:0: src/common/tortls.h:140:15: error: conflicting types for ‘SSL_SESSION_get_master_key’ STATIC size_t SSL_SESSION_get_master_key(SSL_SESSION *s, uint8_t *out, ^ In file included from src/common/tortls.c:40:0: /usr/local/include/openssl/ssl.h:1725:15: note: previous declaration of ‘SSL_SESSION_get_master_key’ was here __owur size_t SSL_SESSION_get_master_key(const SSL_SESSION *ssl, ^ src/common/tortls.c: In function ‘find_cipher_by_id’: src/common/tortls.c:1331:21: warning: unused variable ‘c’ [-Wunused-variable] const SSL_CIPHER *c;
Hi! To me these errors look like there's a mismatch between the versions of the openssl headers and the version of the openssl library -- as if Tor detected one version of openssl with the library search during configure, but we're compiling against the headers from another version of openssl.
--with-openssl-dir might be able to clear this up, as might manually tinkering with CFLAGS and LDFLAGS.
Anyone else have tips here?
tor-relays@lists.torproject.org