thrift 编译报错 undefined reference
生活随笔
收集整理的這篇文章主要介紹了
thrift 编译报错 undefined reference
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
編譯 thrift 時報錯:
... src/thrift/generate/thrift-t_lua_generator.o src/thrift/libparse.a ./.libs/libthriftc.so -lrt -lpthread /usr/local/lib/libthrift-0.10.0.so: undefined reference to `GENERAL_NAME_free@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_get_verify_result@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_set_default_passwd_cb_userdata@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `sk_num@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_ctrl@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `CRYPTO_set_dynlock_lock_callback@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_accept@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_new@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_set_cipher_list@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `TLSv1_method@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `ERR_get_error@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `BIO_new@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `TLSv1_1_method@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `CRYPTO_cleanup_all_ex_data@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `ASN1_STRING_length@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_free@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_shutdown@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `ERR_remove_state@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `X509_NAME_get_entry@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `CRYPTO_set_dynlock_create_callback@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_get_verify_mode@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `X509_get_subject_name@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_set_fd@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSLv3_method@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `sk_value@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `RAND_poll@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_get_shutdown@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `ASN1_STRING_to_UTF8@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_set_verify@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_write@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `X509_free@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSLv23_method@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `ERR_peek_error@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `CRYPTO_num_locks@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_connect@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_peek@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `TLSv1_2_method@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_get_peer_certificate@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_library_init@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_get_error@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `CRYPTO_set_dynlock_destroy_callback@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_load_verify_locations@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_get_rbio@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_new@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_use_PrivateKey_file@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_set_default_passwd_cb@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `ERR_free_strings@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `ASN1_STRING_data@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `BIO_ctrl@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_load_error_strings@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_ctrl@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `ERR_reason_error_string@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `CRYPTO_free@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `CRYPTO_set_locking_callback@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_free@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_read@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `X509_verify_cert_error_string@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `EVP_cleanup@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `ERR_clear_error@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_get_wbio@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `X509_NAME_get_index_by_NID@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `X509_NAME_ENTRY_get_data@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_CTX_use_certificate_chain_file@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `SSL_set_bio@libssl.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `BIO_s_mem@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `X509_get_ext_d2i@libcrypto.so.10' /usr/local/lib/libthrift-0.10.0.so: undefined reference to `sk_pop_free@libcrypto.so.10' collect2: error: ld returned 1 exit status make[3]: *** [thrift] 錯誤 1 make[3]: 離開目錄“/opt/thrift-0.10.0/compiler/cpp” make[2]: *** [all-recursive] 錯誤 1 make[2]: 離開目錄“/opt/thrift-0.10.0/compiler/cpp” make[1]: *** [all-recursive] 錯誤 1 make[1]: 離開目錄“/opt/thrift-0.10.0” make: *** [all] 錯誤 2解決方法
創建軟連接,依賴 vix-lib 里面的加密庫文件:
1)創建 libcrypto 鏈接,如果沒有libcrypto.so.1.0.2 文件,從/opt/vmware-vix-disklib-distrib/lib64/中拷貝過來 (參考前一篇 centos 下安裝 thrift)
# cd /lib64/ # cp /opt/vmware-vix-disklib-distrib/lib64/libcrypto.so.1.0.2 /lib64/ # ls -l libcry* # rm -f libcrypto.so.10 如果libcrypto.so.1.0.2沒有執行權限,添加執行權限 # chmod a+x libcrypto.so.1.0.2 # ln -s libcrypto.so.1.0.2 libcrypto.so.102)創建 libssl 鏈接,如果沒有libssl.so.1.0.2 文件,從/opt/vmware-vix-disklib-distrib/lib64/中拷貝過來
# ls -l libssl* # rm -f libssl.so.10 # cp /opt/vmware-vix-disklib-distrib/lib64/libssl.so.1.0.2 /lib64/ 如果libssl.so.1.0.2沒有執行權限,添加執行權限 # chmod a+x libssl.so.1.0.2 # ln -s libssl.so.1.0.2 libssl.so.10總結
以上是生活随笔為你收集整理的thrift 编译报错 undefined reference的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 过的飞快的一周
- 下一篇: 「大话webpack」从零搭建