chromeos-base/libbrillo-0.0.1-r670 fails to build with dev-libs/openssl-1.1.0f.
libbrillo is a cros_workon package, so -r670 corresponds to commit:
d03de8e4b1ab libbrillo: Add DevicePolicy::IsEnterpriseManaged()
in repository src/aosp/external/libbrillo.
The build failures are:
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:18:60: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: brillo::Stream* stream = static_cast<brillo::Stream*>(bio->ptr);
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:18:62: error: expected ')'
libbrillo-0.0.1-r670: brillo::Stream* stream = static_cast<brillo::Stream*>(bio->ptr);
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:18:56: note: to match this '('
libbrillo-0.0.1-r670: brillo::Stream* stream = static_cast<brillo::Stream*>(bio->ptr);
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:33:60: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: brillo::Stream* stream = static_cast<brillo::Stream*>(bio->ptr);
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:33:62: error: expected ')'
libbrillo-0.0.1-r670: brillo::Stream* stream = static_cast<brillo::Stream*>(bio->ptr);
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:33:56: note: to match this '('
libbrillo-0.0.1-r670: brillo::Stream* stream = static_cast<brillo::Stream*>(bio->ptr);
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:52:62: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: brillo::Stream* stream = static_cast<brillo::Stream*>(bio->ptr);
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:52:64: error: expected ')'
libbrillo-0.0.1-r670: brillo::Stream* stream = static_cast<brillo::Stream*>(bio->ptr);
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:52:58: note: to match this '('
libbrillo-0.0.1-r670: brillo::Stream* stream = static_cast<brillo::Stream*>(bio->ptr);
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:59:6: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: bio->shutdown = 0; // By default do not close underlying stream on shutdown.
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:60:6: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: bio->init = 0;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:61:6: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: bio->num = -1; // not used.
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:69:10: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: if (bio->init) {
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:70:8: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: bio->ptr = nullptr;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:71:8: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: bio->init = 0;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:77:12: error: variable has incomplete type 'BIO_METHOD' (aka 'bio_method_st')
libbrillo-0.0.1-r670: BIO_METHOD stream_method = {
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: usr/include/openssl/bio.h:243:16: note: forward declaration of 'bio_method_st'
libbrillo-0.0.1-r670: typedef struct bio_method_st BIO_METHOD;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:95:8: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: bio->ptr = stream;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.cc:96:8: error: member access into incomplete type 'BIO' (aka 'bio_st')
libbrillo-0.0.1-r670: bio->init = 1;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: brillo/streams/openssl_stream_bio.h:11:20: note: forward declaration of 'bio_st'
libbrillo-0.0.1-r670: using BIO = struct bio_st;
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: 15 errors generated.
libbrillo-0.0.1-r670: brillo/streams/tls_stream.cc:344:26: error: 'TLSv1_2_client_method' is deprecated [-Werror,-Wdeprecated-declarations]
libbrillo-0.0.1-r670: ctx_.reset(SSL_CTX_new(TLSv1_2_client_method()));
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: usr/include/openssl/ssl.h:1626:1: note: 'TLSv1_2_client_method' has been explicitly marked deprecated here
libbrillo-0.0.1-r670: DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void)) /* TLSv1.2 */
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: usr/include/openssl/opensslconf.h:124:34: note: expanded from macro 'DEPRECATEDIN_1_1_0'
libbrillo-0.0.1-r670: # define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: usr/include/openssl/opensslconf.h:99:53: note: expanded from macro 'DECLARE_DEPRECATED'
libbrillo-0.0.1-r670: # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
libbrillo-0.0.1-r670: ^
libbrillo-0.0.1-r670: 1 error generated.
Comment 1 by djkurtz@chromium.org
, Jun 28 2017