Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-1889

Support OpenSSL 1.1.0

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.3.0
    • 1.8.0
    • None
    • None

    Description

      We currently can't compile against OpenSSL 1.1.0. Probably low priority right now, but eventually distros are going to start shipping with 1.1.0 by default.

      [121/323] Building CXX object src/kudu/security/CMakeFiles/security.dir/cert.cc.o
      FAILED: src/kudu/security/CMakeFiles/security.dir/cert.cc.o
      /usr/local/opt/ccache/libexec/c++   -DKUDU_HEADERS_NO_STUBS=1 -DKUDU_HEADERS_USE_RICH_SLICE=1 -DKUDU_HEADERS_USE_SHORT_STATUS_MACROS=1 -DKUDU_STATIC_DEFINE -DTCMALLOC_ENABLED -D__STDC_FORMAT_MACROS -Dsecurity_EXPORTS -Isrc -I../../src -isystem ../../thirdparty/installed/common/include -isystem ../../thirdparty/installed/uninstrumented/include -I/usr/local/opt/openssl@1.1/include -I/System/Library/Frameworks/Kerberos.framework/Headers -msse4.2 -Wall -Wno-sign-compare -Wno-deprecated -pthread -fno-strict-aliasing -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -ggdb -Qunused-arguments -Wno-ambiguous-member-template -Wdocumentation-deprecated-sync -std=c++11 -g -fPIC   -fPIC -MD -MT src/kudu/security/CMakeFiles/security.dir/cert.cc.o -MF src/kudu/security/CMakeFiles/security.dir/cert.cc.o.d -o src/kudu/security/CMakeFiles/security.dir/cert.cc.o -c /Users/dan/src/cloudera/kudu/src/kudu/security/cert.cc
      /Users/dan/src/cloudera/kudu/src/kudu/security/cert.cc:158:29: error: member access into incomplete type 'X509_req_st'
        CHECK_GT(CRYPTO_add(&data_->references, 1, CRYPTO_LOCK_X509_REQ), 1)
                                  ^
      ../../thirdparty/installed/uninstrumented/include/glog/logging.h:770:48: note: expanded from macro 'CHECK_GT'
      #define CHECK_GT(val1, val2) CHECK_OP(_GT, > , val1, val2)
                                                     ^
      ../../thirdparty/installed/uninstrumented/include/glog/logging.h:741:26: note: expanded from macro 'CHECK_OP'
        CHECK_OP_LOG(name, op, val1, val2, google::LogMessageFatal)
                               ^
      ../../thirdparty/installed/uninstrumented/include/glog/logging.h:722:44: note: expanded from macro 'CHECK_OP_LOG'
                   google::GetReferenceableValue(val1),        \
                                                 ^
      /usr/local/opt/openssl@1.1/include/openssl/x509.h:91:16: note: forward declaration of 'X509_req_st'
      typedef struct X509_req_st X509_REQ;
                     ^
      /Users/dan/src/cloudera/kudu/src/kudu/security/cert.cc:158:46: error: use of undeclared identifier 'CRYPTO_LOCK_X509_REQ'
        CHECK_GT(CRYPTO_add(&data_->references, 1, CRYPTO_LOCK_X509_REQ), 1)
                                                   ^
      ../../thirdparty/installed/uninstrumented/include/glog/logging.h:770:48: note: expanded from macro 'CHECK_GT'
      #define CHECK_GT(val1, val2) CHECK_OP(_GT, > , val1, val2)
                                                     ^
      ../../thirdparty/installed/uninstrumented/include/glog/logging.h:741:26: note: expanded from macro 'CHECK_OP'
        CHECK_OP_LOG(name, op, val1, val2, google::LogMessageFatal)
                               ^
      ../../thirdparty/installed/uninstrumented/include/glog/logging.h:722:44: note: expanded from macro 'CHECK_OP_LOG'
                   google::GetReferenceableValue(val1),        \
                                                 ^
      2 errors generated.
      [122/323] Building CXX object src/kudu/security/CMakeFiles/security.dir/crypto.cc.o
      FAILED: src/kudu/security/CMakeFiles/security.dir/crypto.cc.o
      /usr/local/opt/ccache/libexec/c++   -DKUDU_HEADERS_NO_STUBS=1 -DKUDU_HEADERS_USE_RICH_SLICE=1 -DKUDU_HEADERS_USE_SHORT_STATUS_MACROS=1 -DKUDU_STATIC_DEFINE -DTCMALLOC_ENABLED -D__STDC_FORMAT_MACROS -Dsecurity_EXPORTS -Isrc -I../../src -isystem ../../thirdparty/installed/common/include -isystem ../../thirdparty/installed/uninstrumented/include -I/usr/local/opt/openssl@1.1/include -I/System/Library/Frameworks/Kerberos.framework/Headers -msse4.2 -Wall -Wno-sign-compare -Wno-deprecated -pthread -fno-strict-aliasing -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -ggdb -Qunused-arguments -Wno-ambiguous-member-template -Wdocumentation-deprecated-sync -std=c++11 -g -fPIC   -fPIC -MD -MT src/kudu/security/CMakeFiles/security.dir/crypto.cc.o -MF src/kudu/security/CMakeFiles/security.dir/crypto.cc.o.d-o src/kudu/security/CMakeFiles/security.dir/crypto.cc.o -c /Users/dan/src/cloudera/kudu/src/kudu/security/crypto.cc
      /Users/dan/src/cloudera/kudu/src/kudu/security/crypto.cc:82:33: error: use of undeclared identifier 'EVP_MD_CTX_destroy'
        static constexpr auto free = &EVP_MD_CTX_destroy;
                                      ^
      1 error generated.
      [124/323] Building CXX object src/kudu/security/CMakeFiles/security.dir/openssl_util.cc.o
      /Users/dan/src/cloudera/kudu/src/kudu/security/openssl_util.cc:64:6: warning: unused function 'LockingCB' [-Wunused-function]
      void LockingCB(int mode, int type, const char* /*file*/, int /*line*/) {
           ^
      1 warning generated.
      [125/323] Building CXX object src/kudu/security/CMakeFiles/security.dir/ca/cert_management.cc.o
      FAILED: src/kudu/security/CMakeFiles/security.dir/ca/cert_management.cc.o
      /usr/local/opt/ccache/libexec/c++   -DKUDU_HEADERS_NO_STUBS=1 -DKUDU_HEADERS_USE_RICH_SLICE=1 -DKUDU_HEADERS_USE_SHORT_STATUS_MACROS=1 -DKUDU_STATIC_DEFINE -DTCMALLOC_ENABLED -D__STDC_FORMAT_MACROS -Dsecurity_EXPORTS -Isrc -I../../src -isystem ../../thirdparty/installed/common/include -isystem ../../thirdparty/installed/uninstrumented/include -I/usr/local/opt/openssl@1.1/include -I/System/Library/Frameworks/Kerberos.framework/Headers -msse4.2 -Wall -Wno-sign-compare -Wno-deprecated -pthread -fno-strict-aliasing -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -ggdb -Qunused-arguments -Wno-ambiguous-member-template -Wdocumentation-deprecated-sync -std=c++11 -g -fPIC   -fPIC -MD -MT src/kudu/security/CMakeFiles/security.dir/ca/cert_management.cc.o -MF src/kudu/security/CMakeFiles/security.dir/ca/cert_management.cc.o.d -o src/kudu/security/CMakeFiles/security.dir/ca/cert_management.cc.o -c /Users/dan/src/cloudera/kudu/src/kudu/security/ca/cert_management.cc
      In file included from /Users/dan/src/cloudera/kudu/src/kudu/security/ca/cert_management.cc:18:
      ../../src/kudu/security/ca/cert_management.h:38:26: error: typedef redefinition with different types ('struct env_md_st' vs 'struct evp_md_st')
      typedef struct env_md_st EVP_MD;
                               ^
      /usr/local/opt/openssl@1.1/include/openssl/ossl_typ.h:91:26: note: previous definition is here
      typedef struct evp_md_st EVP_MD;
                               ^
      /Users/dan/src/cloudera/kudu/src/kudu/security/ca/cert_management.cc:366:11: error: member access into incomplete type 'X509_REQ' (aka 'X509_req_st')
        if (!req->req_info ||
                ^
      /usr/local/opt/openssl@1.1/include/openssl/x509.h:91:16: note: forward declaration of 'X509_req_st'
      typedef struct X509_req_st X509_REQ;
                     ^
      2 errors generated.
      [127/323] Building CXX object src/kudu/security/CMakeFiles/security.dir/tls_context.cc.o
      FAILED: src/kudu/security/CMakeFiles/security.dir/tls_context.cc.o
      /usr/local/opt/ccache/libexec/c++   -DKUDU_HEADERS_NO_STUBS=1 -DKUDU_HEADERS_USE_RICH_SLICE=1 -DKUDU_HEADERS_USE_SHORT_STATUS_MACROS=1 -DKUDU_STATIC_DEFINE -DTCMALLOC_ENABLED -D__STDC_FORMAT_MACROS -Dsecurity_EXPORTS -Isrc -I../../src -isystem ../../thirdparty/installed/common/include -isystem ../../thirdparty/installed/uninstrumented/include -I/usr/local/opt/openssl@1.1/include -I/System/Library/Frameworks/Kerberos.framework/Headers -msse4.2 -Wall -Wno-sign-compare -Wno-deprecated -pthread -fno-strict-aliasing -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -ggdb -Qunused-arguments -Wno-ambiguous-member-template -Wdocumentation-deprecated-sync -std=c++11 -g -fPIC   -fPIC -MD -MT src/kudu/security/CMakeFiles/security.dir/tls_context.cc.o -MF src/kudu/security/CMakeFiles/security.dir/tls_context.cc.o.d -o src/kudu/security/CMakeFiles/security.dir/tls_context.cc.o -c /Users/dan/src/cloudera/kudu/src/kudu/security/tls_context.cc
      In file included from /Users/dan/src/cloudera/kudu/src/kudu/security/tls_context.cc:30:
      ../../src/kudu/security/ca/cert_management.h:38:26: error: typedef redefinition with different types ('struct env_md_st' vs 'struct evp_md_st')
      typedef struct env_md_st EVP_MD;
                               ^
      /usr/local/opt/openssl@1.1/include/openssl/ossl_typ.h:91:26: note: previous definition is here
      typedef struct evp_md_st EVP_MD;
                               ^
      1 error generated.
      [130/323] Building CXX object src/kudu/security/CMakeFiles/security.dir/token_signer.cc.o
      ninja: build stopped: subcommand failed.
      

      Attachments

        Issue Links

          Activity

            People

              adar Adar Dembo
              danburkert Dan Burkert
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: