[Libwebsockets] RE: Re: RE: Re: RE: Static Link issue

Andy Green andy at warmcat.com
Sun Mar 29 07:46:14 CEST 2015



On 29 March 2015 13:27:22 GMT+08:00, Jeffrey Zhao <chunyong.zhao at qq.com> wrote:
>Dear Sir
>Could you kindly update Cmakelist to generate all the necessary .a
>library the libwebsockets.a depends on?

Nope. Because it's not an lws problem... ie, it's not my problem... it's your problem.

Good luck with your problem.

-Andy

>
>Thank you!
>
>
>
>
>------------------ 原始邮件 ------------------
>发件人: "Andy Green";<andy at warmcat.com>;
>发送时间: 2015年3月29日(星期天) 中午1:13
>收件人: "Jeffrey Zhao"<chunyong.zhao at qq.com>;
>"libwebsockets at ml.libwebsockets."<libwebsockets at ml.libwebsockets.org>; 
>
>主题:  Re: 回复: Re: 回复: [Libwebsockets] Static Link issue
>
>
>
>
>
>On 29 March 2015 13:00:06 GMT+08:00, Jeffrey Zhao
><chunyong.zhao at qq.com> wrote:
>>Dear Sir
>>Here is the result based on your idea.
>>
>
>Yeah... it's telling you to feed it the .a for zlib and openssl bits as
>well.
>
>That is what static-linked means everything and every dependency is
>brought together at once, there is no "later".
>
>So you must feed it everything at once.
>
>This is nothing to do with libwebsockets.
>
>-Andy
>
>>
>>
>>gcc -lpthread -Wall -o2 test-server.c
>>/Users/blue/Downloads/libwebsockets/libwebsockets/build/lib/libwebsockets.a
>>-o test-server
>>Undefined symbols for architecture x86_64:
>>  "_BIO_ctrl", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_BIO_new_socket", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>  "_CRYPTO_cleanup_all_ex_data", referenced from:
>>      _lws_ssl_destroy in libwebsockets.a(ssl.c.o)
>>      _lws_ssl_context_destroy in libwebsockets.a(ssl.c.o)
>>  "_ERR_error_string", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_ERR_error_string_n", referenced from:
>>      _libwebsockets_decode_ssl_error in libwebsockets.a(ssl.c.o)
>>  "_ERR_free_strings", referenced from:
>>      _lws_ssl_destroy in libwebsockets.a(ssl.c.o)
>>      _lws_ssl_context_destroy in libwebsockets.a(ssl.c.o)
>>  "_ERR_get_error", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _libwebsockets_decode_ssl_error in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_ERR_remove_state", referenced from:
>>      _lws_ssl_destroy in libwebsockets.a(ssl.c.o)
>>      _lws_ssl_context_destroy in libwebsockets.a(ssl.c.o)
>>  "_EVP_cleanup", referenced from:
>>      _lws_ssl_destroy in libwebsockets.a(ssl.c.o)
>>      _lws_ssl_context_destroy in libwebsockets.a(ssl.c.o)
>>  "_OPENSSL_add_all_algorithms_noconf", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_check_private_key", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_ctrl", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_free", referenced from:
>>      _lws_ssl_destroy in libwebsockets.a(ssl.c.o)
>>      _lws_ssl_context_destroy in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_load_verify_locations", referenced from:
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_new", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_set_cipher_list", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_set_default_passwd_cb", referenced from:
>>      _lws_ssl_bind_passphrase in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_set_default_passwd_cb_userdata", referenced from:
>>      _lws_ssl_bind_passphrase in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_set_default_verify_paths", referenced from:
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_set_verify", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_use_PrivateKey_file", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_CTX_use_certificate_chain_file", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_accept", referenced from:
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_connect", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>  "_SSL_ctrl", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_free", referenced from:
>>      _lws_ssl_close in libwebsockets.a(ssl.c.o)
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_get_error", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>      _lws_ssl_capable_read in libwebsockets.a(ssl.c.o)
>>      _lws_ssl_capable_write in libwebsockets.a(ssl.c.o)
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_get_ex_data", referenced from:
>>      _OpenSSL_verify_callback in libwebsockets.a(ssl.c.o)
>>  "_SSL_get_ex_data_X509_STORE_CTX_idx", referenced from:
>>      _OpenSSL_verify_callback in libwebsockets.a(ssl.c.o)
>>  "_SSL_get_ex_new_index", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_get_fd", referenced from:
>>      _lws_ssl_close in libwebsockets.a(ssl.c.o)
>>  "_SSL_get_rbio", referenced from:
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_get_verify_result", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>  "_SSL_get_wbio", referenced from:
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_library_init", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_load_error_strings", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_new", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_pending", referenced from:
>>      _lws_ssl_capable_read in libwebsockets.a(ssl.c.o)
>>  "_SSL_read", referenced from:
>>      _lws_ssl_capable_read in libwebsockets.a(ssl.c.o)
>>  "_SSL_set_bio", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>  "_SSL_set_ex_data", referenced from:
>>      _lws_client_socket_service in libwebsockets.a(client.c.o)
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_set_fd", referenced from:
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_shutdown", referenced from:
>>      _lws_ssl_close in libwebsockets.a(ssl.c.o)
>>      _lws_server_socket_service_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSL_write", referenced from:
>>      _lws_ssl_capable_write in libwebsockets.a(ssl.c.o)
>>  "_SSLv23_client_method", referenced from:
>>      _lws_context_init_client_ssl in libwebsockets.a(ssl.c.o)
>>  "_SSLv23_server_method", referenced from:
>>      _lws_context_init_server_ssl in libwebsockets.a(ssl.c.o)
>>  "_X509_STORE_CTX_get_ex_data", referenced from:
>>      _OpenSSL_verify_callback in libwebsockets.a(ssl.c.o)
>>  "_deflate", referenced from:
>>_lws_extension_callback_deflate_frame in
>>libwebsockets.a(extension-deflate-frame.c.o)
>>     (maybe you meant: _lws_extension_callback_deflate_frame)
>>  "_deflateEnd", referenced from:
>>_lws_extension_callback_deflate_frame in
>>libwebsockets.a(extension-deflate-frame.c.o)
>>  "_deflateInit2_", referenced from:
>>_lws_extension_callback_deflate_frame in
>>libwebsockets.a(extension-deflate-frame.c.o)
>>  "_inflate", referenced from:
>>_lws_extension_callback_deflate_frame in
>>libwebsockets.a(extension-deflate-frame.c.o)
>>  "_inflateEnd", referenced from:
>>_lws_extension_callback_deflate_frame in
>>libwebsockets.a(extension-deflate-frame.c.o)
>>  "_inflateInit2_", referenced from:
>>_lws_extension_callback_deflate_frame in
>>libwebsockets.a(extension-deflate-frame.c.o)
>>ld: symbol(s) not found for architecture x86_64
>>clang: error: linker command failed with exit code 1 (use -v to see
>>invocation)
>>make: *** [test-server] Error 1‍
>>
>>------------------ 原始邮件 ------------------
>>发件人: "Andy Green";<andy at warmcat.com>;
>>发送时间: 2015年3月29日(星期天) 中午12:48
>>收件人: "Jeffrey Zhao"<chunyong.zhao at qq.com>;
>>"libwebsockets at ml.libwebsockets."<libwebsockets at ml.libwebsockets.org>;
>
>>
>>主题:  Re: 回复: [Libwebsockets] Static Link issue
>>
>>
>>
>>
>>
>>On 29 March 2015 12:29:19 GMT+08:00, Jeffrey Zhao
>><chunyong.zhao at qq.com> wrote:
>>>Dear Andy
>>>For some reasons, we need to use static link.
>>
>>Have you tried explicitly giving it the libwebsockets.a file instead
>of
>>-l?
>>
>>>Could you tell me more details regarding clang list?
>>
>>Google found this
>>
>>http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users
>>
>>I have no idea if your question is inappropriate there.
>>
>>-Andy
>>
>>>
>>>
>>>
>>>Thanks.
>>>
>>>
>>>
>>>
>>>
>>>
>>>------------------ 原始邮件 ------------------
>>>发件人: "Andy Green";<andy at warmcat.com>;
>>>发送时间: 2015年3月28日(星期六) 上午6:58
>>>收件人: "Jeffrey Zhao"<chunyong.zhao at qq.com>;
>>>"libwebsockets at ml.libwebsockets."<libwebsockets at ml.libwebsockets.org>;
>>
>>>
>>>主题: Re: [Libwebsockets] Static Link issue
>>>
>>>
>>>
>>>
>>>
>>>On 27 March 2015 21:22:50 GMT+08:00, Jeffrey Zhao
>>><chunyong.zhao at qq.com> wrote:
>>>>Dear Sir
>>>>When I do the static link with libwebsockets, it indicates that
>>crt0.o
>>>>is not found.
>>>>Any suggestion here?
>>>
>>>It's not a question about lws.  crt0 is C Runtime Library.  Maybe try
>>a
>>>clang list.
>>>
>>>Or, don't static link...
>>>
>>>-Andy
>>>
>>>>
>>>>thank you in advance.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>gcc -lpthread -Wall -o2 test-server.c -o test-server -static
>>>>-lwebsockets
>>>>-L/Users/blue/Downloads/libwebsockets‍/libwebsockets/build/lib/
>>>>ld: library not found for -lcrt0.o
>>>>clang: error: linker command failed with exit code 1 (use -v to see
>>>>invocation)
>>>>make: *** [cti-server] Error 1‍
>>>>
>>>>------------------------------------------------------------------------
>>>>
>>>>_______________________________________________
>>>>Libwebsockets mailing list
>>>>Libwebsockets at ml.libwebsockets.org
>>>>http://ml.libwebsockets.org/mailman/listinfo/libwebsockets




More information about the Libwebsockets mailing list