[tor-bugs] #13415 [Tor]: tor fails LibreSSL compiliation and chutney basic

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Oct 15 07:04:20 UTC 2014


#13415: tor fails LibreSSL compiliation and chutney basic
------------------------+------------------------------
     Reporter:  teor    |      Owner:
         Type:  defect  |     Status:  new
     Priority:  normal  |  Milestone:
    Component:  Tor     |    Version:  Tor: unspecified
   Resolution:          |   Keywords:  tor-router lorax
Actual Points:          |  Parent ID:
       Points:          |
------------------------+------------------------------

Comment (by teor):

 I get the following warnings when I manually install BoringSSL into
 include/lib/bin dirs, and fake the openssl executable using the bssl
 executable:
 (I've cleaned up some warnings that were irrelevant or trivial.)

   CC       src/common/crypto.o
 src/common/crypto.c:170:12: warning: implicit declaration of function
       'ENGINE_get_name' is invalid in C99 [-Wimplicit-function-
 declaration]
     name = ENGINE_get_name(e);
            ^
 src/common/crypto.c:171:10: warning: implicit declaration of function
       'ENGINE_get_id' is invalid in C99 [-Wimplicit-function-declaration]
     id = ENGINE_get_id(e);
          ^
 src/common/crypto.c:186:15: warning: implicit declaration of function
       'ENGINE_by_id' is invalid in C99 [-Wimplicit-function-declaration]
   ENGINE *e = ENGINE_by_id("dynamic");
               ^
 src/common/crypto.c:188:10: warning: implicit declaration of function
       'ENGINE_ctrl_cmd_string' is invalid in C99
       [-Wimplicit-function-declaration]
     if (!ENGINE_ctrl_cmd_string(e, "ID", engine, 0) ||
          ^
 src/common/crypto.c:227:31: warning: implicit declaration of function
       'SSLeay_version' is invalid in C99 [-Wimplicit-function-declaration]
     const char *raw_version = SSLeay_version(SSLEAY_VERSION);
                               ^
 src/common/crypto.c:227:46: error: use of undeclared identifier
 'SSLEAY_VERSION'
     const char *raw_version = SSLeay_version(SSLEAY_VERSION);
                                              ^
 src/common/crypto.c:241:51: error: use of undeclared identifier
       'OPENSSL_VERSION_TEXT'
                         parse_openssl_version_str(OPENSSL_VERSION_TEXT);
                                                   ^
 src/common/crypto.c:251:7: warning: implicit declaration of function
       'RAND_get_rand_method' is invalid in C99 [-Wimplicit-function-
 declaration]
   if (RAND_get_rand_method() != RAND_SSLeay()) {
       ^
 src/common/crypto.c:251:33: warning: implicit declaration of function
       'RAND_SSLeay' is invalid in C99 [-Wimplicit-function-declaration]
   if (RAND_get_rand_method() != RAND_SSLeay()) {
                                 ^
 src/common/crypto.c:255:5: warning: implicit declaration of function
       'RAND_set_rand_method' is invalid in C99 [-Wimplicit-function-
 declaration]
     RAND_set_rand_method(RAND_SSLeay());
     ^
 src/common/crypto.c:291:9: warning: implicit declaration of function
 'SSLeay' is
       invalid in C99 [-Wimplicit-function-declaration]
     if (SSLeay() == OPENSSL_VERSION_NUMBER &&
         ^
 src/common/crypto.c:292:32: error: use of undeclared identifier
 'SSLEAY_VERSION'
         !strcmp(SSLeay_version(SSLEAY_VERSION), OPENSSL_VERSION_TEXT)) {
                                ^
 src/common/crypto.c:292:49: error: use of undeclared identifier
       'OPENSSL_VERSION_TEXT'
         !strcmp(SSLeay_version(SSLEAY_VERSION), OPENSSL_VERSION_TEXT)) {
                                                 ^
   CC       src/common/crypto_s2k.o
 src/common/crypto.c:294:57: error: use of undeclared identifier
 'SSLEAY_VERSION'
                  "(%lx: %s).", SSLeay(), SSLeay_version(SSLEAY_VERSION));
                                                         ^
 ./src/common/../common/torlog.h:190:50: note: expanded from macro
 'log_info'
   log_fn_(LOG_INFO, domain, __PRETTY_FUNCTION__, args)
                                                  ^
 src/common/crypto.c:299:55: error: use of undeclared identifier
       'OPENSSL_VERSION_TEXT'
                (unsigned long)OPENSSL_VERSION_NUMBER,
 OPENSSL_VERSION_TEXT,
                                                       ^
 ./src/common/../common/torlog.h:194:50: note: expanded from macro
 'log_warn'
   log_fn_(LOG_WARN, domain, __PRETTY_FUNCTION__, args)
                                                  ^
 src/common/crypto.c:300:41: error: use of undeclared identifier
 'SSLEAY_VERSION'
                SSLeay(), SSLeay_version(SSLEAY_VERSION));
                                         ^
 ./src/common/../common/torlog.h:194:50: note: expanded from macro
 'log_warn'
   log_fn_(LOG_WARN, domain, __PRETTY_FUNCTION__, args)
                                                  ^
 src/common/crypto.c:339:7: warning: implicit declaration of function
       'ENGINE_load_builtin_engines' is invalid in C99
       [-Wimplicit-function-declaration]
       ENGINE_load_builtin_engines();
       ^
 src/common/crypto.c:340:7: warning: implicit declaration of function
       'ENGINE_register_all_complete' is invalid in C99
       [-Wimplicit-function-declaration]
       ENGINE_register_all_complete();
       ^
 src/common/crypto.c:350:13: warning: incompatible integer to pointer
 conversion
       assigning to 'ENGINE *' (aka 'struct engine_st *') from 'int'
       [-Wint-conversion]
           e = ENGINE_by_id(accelName);
             ^ ~~~~~~~~~~~~~~~~~~~~~~~
 src/common/crypto.c:363:9: warning: implicit declaration of function
       'ENGINE_set_default' is invalid in C99 [-Wimplicit-function-
 declaration]
         ENGINE_set_default(e, ENGINE_METHOD_ALL);
         ^
 src/common/crypto.c:363:31: error: use of undeclared identifier
       'ENGINE_METHOD_ALL'
         ENGINE_set_default(e, ENGINE_METHOD_ALL);
                               ^
 src/common/crypto.c:367:25: warning: implicit declaration of function
       'ENGINE_get_default_RSA' is invalid in C99
       [-Wimplicit-function-declaration]
       log_engine("RSA", ENGINE_get_default_RSA());
                         ^
 src/common/crypto.c:368:24: warning: implicit declaration of function
       'ENGINE_get_default_DH' is invalid in C99
       [-Wimplicit-function-declaration]
       log_engine("DH", ENGINE_get_default_DH());
                        ^
 src/common/crypto.c:369:26: warning: implicit declaration of function
       'ENGINE_get_default_ECDH' is invalid in C99
       [-Wimplicit-function-declaration]
       log_engine("ECDH", ENGINE_get_default_ECDH());
                          ^
 src/common/crypto.c:370:27: warning: implicit declaration of function
       'ENGINE_get_default_ECDSA' is invalid in C99
       [-Wimplicit-function-declaration]
       log_engine("ECDSA", ENGINE_get_default_ECDSA());
                           ^
 src/common/crypto.c:371:26: warning: implicit declaration of function
       'ENGINE_get_default_RAND' is invalid in C99
       [-Wimplicit-function-declaration]
       log_engine("RAND", ENGINE_get_default_RAND());
                          ^
 src/common/crypto.c:373:26: warning: implicit declaration of function
       'ENGINE_get_digest_engine' is invalid in C99
       [-Wimplicit-function-declaration]
       log_engine("SHA1", ENGINE_get_digest_engine(NID_sha1));
                          ^
 src/common/crypto.c:374:30: warning: implicit declaration of function
       'ENGINE_get_cipher_engine' is invalid in C99
       [-Wimplicit-function-declaration]
       log_engine("3DES-CBC", ENGINE_get_cipher_engine(NID_des_ede3_cbc));
                              ^
 src/common/crypto.c:408:3: warning: implicit declaration of function
       'ERR_remove_state' is invalid in C99 [-Wimplicit-function-
 declaration]
   ERR_remove_state(0);
   ^
 src/common/crypto.c:691:25: error: incomplete definition of type
       'struct buf_mem_st'
   *dest = tor_malloc(buf->length+1);
                      ~~~^
 ./src/common/util.h:116:44: note: expanded from macro 'tor_malloc'
 #define tor_malloc(size)       tor_malloc_(size DMALLOC_ARGS)
                                            ^
 /test/tor/boringssl-install/include/openssl/base.h:170:16: note: forward
       declaration of 'struct buf_mem_st'
 typedef struct buf_mem_st BUF_MEM;
                ^
 src/common/crypto.c:692:20: error: incomplete definition of type
       'struct buf_mem_st'
   memcpy(*dest, buf->data, buf->length);
                 ~~~^
 /usr/include/secure/_string.h:65:33: note: expanded from macro 'memcpy'
   __builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
                                 ^
 /test/tor/boringssl-install/include/openssl/base.h:170:16: note: forward
       declaration of 'struct buf_mem_st'
 typedef struct buf_mem_st BUF_MEM;
                ^
 src/common/crypto.c:692:31: error: incomplete definition of type
       'struct buf_mem_st'
   memcpy(*dest, buf->data, buf->length);
                            ~~~^
 /usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
   __builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
                                      ^
 /test/tor/boringssl-install/include/openssl/base.h:170:16: note: forward
       declaration of 'struct buf_mem_st'
 typedef struct buf_mem_st BUF_MEM;
                ^
 src/common/crypto.c:693:14: error: incomplete definition of type
       'struct buf_mem_st'
   (*dest)[buf->length] = 0; /* nul terminate it */
           ~~~^
 /test/tor/boringssl-install/include/openssl/base.h:170:16: note: forward
       declaration of 'struct buf_mem_st'
 typedef struct buf_mem_st BUF_MEM;
                ^
 src/common/crypto.c:694:13: error: incomplete definition of type
       'struct buf_mem_st'
   *len = buf->length;
          ~~~^
 /test/tor/boringssl-install/include/openssl/base.h:170:16: note: forward
       declaration of 'struct buf_mem_st'
 typedef struct buf_mem_st BUF_MEM;
                ^
 src/common/crypto.c:695:3: warning: implicit declaration of function
       'BUF_MEM_free' is invalid in C99 [-Wimplicit-function-declaration]
   BUF_MEM_free(buf);
   ^
 src/common/crypto.c:1783:19: warning: implicit declaration of function
       'DH_generate_parameters' is invalid in C99
       [-Wimplicit-function-declaration]
   dh_parameters = DH_generate_parameters(DH_BYTES*8, DH_GENERATOR, NULL,
 NULL);
                   ^
 src/common/crypto.c:2118:12: error: no member named 'length' in 'struct
 dh_st'
   res->dh->length = DH_PRIVATE_KEY_BITS;
   ~~~~~~~  ^
 src/common/crypto.c:3046:2: error: OpenSSL has been built without thread
       support. Tor requires an OpenSSL library with thread support
 enabled.
 #error OpenSSL has been built without thread support. Tor requires an \
  ^
 src/common/crypto.c:3149:3: warning: implicit declaration of function
       'ENGINE_cleanup' is invalid in C99 [-Wimplicit-function-declaration]
   ENGINE_cleanup();
   ^
 src/common/crypto.c:3152:3: warning: implicit declaration of function
       'CONF_modules_unload' is invalid in C99 [-Wimplicit-function-
 declaration]
   CONF_modules_unload(1);

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/13415#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list