<div dir="ltr"><div class="gmail_default" style="font-size:small">Hi,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">While compiling async I see below errors with UCLIBC.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><i><font color="#990000">libcrypto.so: undefined reference to `getcontext'<br>libcrypto.so: undefined reference to `setcontext'<br>libcrypto.so: undefined reference to `makecontext'</font></i><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">As UCLIBC doesn't have support to these APIs, i have added no-async in configure. With no-async below errors are seen.</div><div class="gmail_default" style="font-size:small"><i><font color="#990000"><br></font></i></div><div class="gmail_default" style="font-size:small"><i><font color="#990000">libcrypto.so: undefined reference to `ERR_load_ASYNC_strings'<br>libcrypto.so: undefined reference to `async_init'<br>libcrypto.so: undefined reference to `async_delete_thread_state'<br>libcrypto.so: undefined reference to `async_deinit'</font></i><br></div><div class="gmail_default" style="font-size:small"><i><font color="#990000"><br></font></i></div><div class="gmail_default" style="font-size:small">Do we need to have macro check" #ifndef OPENSSL_NO_ASYNC" before these api calls?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Similarly for CT, we are seeing below errors. With no-ct options, compilation is OK.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">We would like to know what would be the impact if we disable async and ct features. Could you please help us in understanding these features.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">In file included from ../../../../vendor/openssl/crypto/ct/ct_b64.c:17:0:<br>../../../../vendor/openssl/crypto/ct/ct_locl.h:58:5: error: unknown type name 'sct_version_t'<br>     sct_version_t version;<br>     ^<br>../../../../vendor/openssl/crypto/ct/ct_locl.h:78:5: error: unknown type name 'ct_log_entry_type_t'<br>     ct_log_entry_type_t entry_type;<br>     ^<br>../../../../vendor/openssl/crypto/ct/ct_locl.h:80:5: error: unknown type name 'sct_source_t'<br>     sct_source_t source;<br>     ^<br>../../../../vendor/openssl/crypto/ct/ct_locl.h:82:5: error: unknown type name 'sct_validation_status_t'<br>     sct_validation_status_t validation_status;<br>     ^<br>In file included from ../../../../vendor/openssl/crypto/ct/ct_b64.c:14:0:<br>../../../../vendor/openssl/crypto/ct/ct_b64.c: In function 'ct_base64_decode':<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:38:15: error: 'CT_F_CT_BASE64_DECODE' undeclared (first use in this function)<br>         CTerr(CT_F_CT_BASE64_DECODE, ERR_R_MALLOC_FAILURE);<br>               ^<br>../../../../vendor/openssl/include/openssl/err.h:29:59: note: in definition of macro 'ERR_PUT_error'<br> #  define ERR_PUT_error(a,b,c,d,e)        ERR_put_error(a,b,c,d,e)<br>                                                           ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:38:9: note: in expansion of macro 'CTerr'<br>         CTerr(CT_F_CT_BASE64_DECODE, ERR_R_MALLOC_FAILURE);<br>         ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:38:15: note: each undeclared identifier is reported only once for each function it appears in<br>         CTerr(CT_F_CT_BASE64_DECODE, ERR_R_MALLOC_FAILURE);<br>               ^<br>../../../../vendor/openssl/include/openssl/err.h:29:59: note: in definition of macro 'ERR_PUT_error'<br> #  define ERR_PUT_error(a,b,c,d,e)        ERR_put_error(a,b,c,d,e)<br>                                                           ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:38:9: note: in expansion of macro 'CTerr'<br>         CTerr(CT_F_CT_BASE64_DECODE, ERR_R_MALLOC_FAILURE);<br>         ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:44:38: error: 'CT_R_BASE64_DECODE_ERROR' undeclared (first use in this function)<br>         CTerr(CT_F_CT_BASE64_DECODE, CT_R_BASE64_DECODE_ERROR);<br>                                      ^<br>../../../../vendor/openssl/include/openssl/err.h:29:61: note: in definition of macro 'ERR_PUT_error'<br> #  define ERR_PUT_error(a,b,c,d,e)        ERR_put_error(a,b,c,d,e)<br>                                                             ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:44:9: note: in expansion of macro 'CTerr'<br>         CTerr(CT_F_CT_BASE64_DECODE, CT_R_BASE64_DECODE_ERROR);<br>         ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c: At top level:<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:64:26: error: unknown type name 'ct_log_entry_type_t'<br>                          ct_log_entry_type_t entry_type, uint64_t timestamp,<br>                          ^<br>In file included from ../../../../vendor/openssl/crypto/ct/ct_b64.c:14:0:<br>../../../../vendor/openssl/crypto/ct/ct_b64.c: In function 'CTLOG_new_from_base64':<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:143:15: error: 'CT_F_CTLOG_NEW_FROM_BASE64' undeclared (first use in this function)<br>         CTerr(CT_F_CTLOG_NEW_FROM_BASE64, ERR_R_PASSED_INVALID_ARGUMENT);<br>               ^<br>../../../../vendor/openssl/include/openssl/err.h:29:59: note: in definition of macro 'ERR_PUT_error'<br> #  define ERR_PUT_error(a,b,c,d,e)        ERR_put_error(a,b,c,d,e)<br>                                                           ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:143:9: note: in expansion of macro 'CTerr'<br>         CTerr(CT_F_CTLOG_NEW_FROM_BASE64, ERR_R_PASSED_INVALID_ARGUMENT);<br>         ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:149:43: error: 'CT_R_LOG_CONF_INVALID_KEY' undeclared (first use in this function)<br>         CTerr(CT_F_CTLOG_NEW_FROM_BASE64, CT_R_LOG_CONF_INVALID_KEY);<br>                                           ^<br>../../../../vendor/openssl/include/openssl/err.h:29:61: note: in definition of macro 'ERR_PUT_error'<br> #  define ERR_PUT_error(a,b,c,d,e)        ERR_put_error(a,b,c,d,e)<br>                                                             ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:149:9: note: in expansion of macro 'CTerr'<br>         CTerr(CT_F_CTLOG_NEW_FROM_BASE64, CT_R_LOG_CONF_INVALID_KEY);<br>         ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:161:15: warning: implicit declaration of function 'CTLOG_new' [-Wimplicit-function-declaration]<br>     *ct_log = CTLOG_new(pkey, name);<br>               ^<br>../../../../vendor/openssl/crypto/ct/ct_b64.c:161:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion]<br>     *ct_log = CTLOG_new(pkey, name);<br>             ^<br><br><br></div><div><div dir="ltr" class="m_7059462134167670985gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Thanks & Regards,<div>Samiya khanum</div></div></div></div></div>