taf2 / curb

Ruby bindings for libcurl
Other
1.29k stars 227 forks source link

Gem install fails in windows 10 wsl v1 #437

Closed parthi-tcdx closed 1 year ago

parthi-tcdx commented 1 year ago

I tried installing gem curb version 1.0.1. Its fails on building gem native extension. It install the mentioned dependencies already. I'm not able to the logs to debug this. Pls Help !!

Below is the gem install log:

parthi git:(master) ✗ gem install curb:1.0.1
Fetching curb-1.0.1.gem
Building native extensions. This could take a while...
/usr/share/rvm/rubies/ruby-2.6.2/lib/ruby/site_ruby/2.6.0/rubygems/ext/builder.rb:76: warning: Insecure world writable dir /home/partheey/.rvm/gems in PATH, mode 040777
ERROR:  Error installing curb:
        ERROR: Failed to build gem native extension.

    current directory: /home/partheey/.rvm/gems/ruby-2.6.2@gog_api/gems/curb-1.0.1/ext
/usr/share/rvm/rubies/ruby-2.6.2/bin/ruby -I /usr/share/rvm/rubies/ruby-2.6.2/lib/ruby/site_ruby/2.6.0 -r ./siteconf20221015-12633-1p7n5bk.rb extconf.rb
checking for curl-config... yes
checking for curlopt_tcp_keepalive... yes
checking for curlopt_tcp_keepidle... yes
checking for curlopt_tcp_keepintvl... yes
checking for curlinfo_appconnect_time... yes
checking for curlinfo_redirect_time... yes
checking for curlinfo_response_code... yes
checking for curlinfo_filetime... yes
checking for curlinfo_redirect_count... yes
checking for curlinfo_os_errno... yes
checking for curlinfo_num_connects... yes
checking for curlinfo_cookielist... yes
checking for curlinfo_ftp_entry_path... yes
checking for curl_version_ssl... yes
checking for curl_version_libz... yes
checking for curl_version_ntlm... yes
checking for curl_version_gssnegotiate... yes
checking for curl_version_debug... yes
checking for curl_version_asynchdns... yes
checking for curl_version_spnego... yes
checking for curl_version_largefile... yes
checking for curl_version_idn... yes
checking for curl_version_sspi... yes
checking for curl_version_conv... yes
checking for curl_version_http2... yes
checking for curlproxy_http... yes
checking for curlproxy_socks4... yes
checking for curlproxy_socks4a... yes
checking for curlproxy_socks5... yes
checking for curlproxy_socks5_hostname... yes
checking for curlauth_basic... yes
checking for curlauth_digest... yes
checking for curlauth_gssnegotiate... yes
checking for curlauth_ntlm... yes
checking for curlauth_anysafe... yes
checking for curlauth_any... yes
checking for curle_tftp_notfound... yes
checking for curle_tftp_perm... yes
checking for curle_tftp_diskfull... yes
checking for curle_tftp_illegal... yes
checking for curle_tftp_unknownid... yes
checking for curle_tftp_exists... yes
checking for curle_tftp_nosuchuser... yes
checking for curle_send_fail_rewind... yes
checking for curle_ssl_engine_initfailed... yes
checking for curle_login_denied... yes
checking for curlopt_nosignal... yes
checking for curlmopt_pipelining... yes
checking for curlmopt_maxconnects... yes
checking for curlopt_seekfunction... yes
checking for curlopt_seekdata... yes
checking for curlopt_sockoptfunction... yes
checking for curlopt_sockoptdata... yes
checking for curlopt_opensocketfunction... yes
checking for curlopt_opensocketdata... yes
checking for curle_conv_failed... yes
checking for curle_conv_reqd... yes
checking for curle_ssl_cacert_badfile... yes
checking for curle_remote_file_not_found... yes
checking for curle_ssh... yes
checking for curle_ssl_shutdown_failed... yes
checking for curle_again... yes
checking for curle_ssl_crl_badfile... yes
checking for curle_ssl_issuer_error... yes
checking for curlinfo_redirect_url... yes
checking for curlopt_username... yes
checking for curlopt_password... yes
checking for curlinfo_primary_ip... yes
checking for curlauth_digest_ie... yes
checking for curlftpmethod_multicwd... yes
checking for curlftpmethod_nocwd... yes
checking for curlftpmethod_singlecwd... yes
checking for curlm_bad_socket... yes
checking for curlm_unknown_option... yes
checking for curl_multi_timeout()... yes
checking for curl_multi_fdset()... yes
checking for curl_multi_perform()... yes
checking for curlopt_haproxyprotocol... no
checking for curlopt_interleavefunction... yes
checking for curlopt_interleavedata... yes
checking for curlopt_chunk_bgn_function... yes
checking for curlopt_chunk_end_function... yes
checking for curlopt_chunk_data... yes
checking for curlopt_fnmatch_function... yes
checking for curlopt_fnmatch_data... yes
checking for curlopt_errorbuffer... yes
checking for curlopt_stderr... yes
checking for curlopt_failonerror... yes
checking for curlopt_url... yes
checking for curlopt_protocols... yes
checking for curlopt_redir_protocols... yes
checking for curlopt_proxy... yes
checking for curlopt_proxyport... yes
checking for curlopt_proxytype... yes
checking for curlopt_noproxy... yes
checking for curlopt_httpproxytunnel... yes
checking for curlopt_socks5_gssapi_service... yes
checking for curlopt_socks5_gssapi_nec... yes
checking for curlopt_interface... yes
checking for curlopt_localport... yes
checking for curlopt_dns_cache_timeout... yes
checking for curlopt_dns_use_global_cache... yes
checking for curlopt_buffersize... yes
checking for curlopt_port... yes
checking for curlopt_tcp_nodelay... yes
checking for curlopt_address_scope... yes
checking for curlopt_netrc... yes
checking for curl_netrc_optional... yes
checking for curl_netrc_ignored... yes
checking for curl_netrc_required... yes
checking for curlopt_netrc_file... yes
checking for curlopt_userpwd... yes
checking for curlopt_proxyuserpwd... yes
checking for curlopt_username... yes
checking for curlopt_password... yes
checking for curlopt_password... yes
checking for curlopt_password... yes
checking for curlopt_httpauth... yes
checking for curlauth_digest_ie... yes
checking for curlauth_only... yes
checking for curlopt_tlsauth_type... yes
checking for curlopt_tlsauth_srp... no
checking for curlopt_tlsauth_username... yes
checking for curlopt_tlsauth_password... yes
checking for curlopt_proxyauth... yes
checking for curlopt_autoreferer... yes
checking for curlopt_encoding... yes
checking for curlopt_followlocation... yes
checking for curlopt_unrestricted_auth... yes
checking for curlopt_maxredirs... yes
checking for curlopt_postredir... yes
checking for curlopt_put... yes
checking for curlopt_post... yes
checking for curlopt_postfields... yes
checking for curlopt_postfieldsize... yes
checking for curlopt_postfieldsize_large... yes
checking for curlopt_copypostfields... yes
checking for curlopt_httppost... yes
checking for curlopt_referer... yes
checking for curlopt_useragent... yes
checking for curlopt_httpheader... yes
checking for curlopt_proxyheader... yes
checking for curlopt_http200aliases... yes
checking for curlopt_cookie... yes
checking for curlopt_cookiefile... yes
checking for curlopt_cookiejar... yes
checking for curlopt_cookiesession... yes
checking for curlopt_cookielist... yes
checking for curlopt_httpget... yes
checking for curlopt_http_version... yes
checking for curl_http_version_none... yes
checking for curl_http_version_1_0... yes
checking for curl_http_version_1_1... yes
checking for curlopt_ignore_content_length... yes
checking for curlopt_http_content_decoding... yes
checking for curlopt_http_transfer_decoding... yes
checking for curlopt_mail_from... yes
checking for curlopt_mail_rcpt... yes
checking for curlopt_tftp_blksize... yes
checking for curlopt_ftpport... yes
checking for curlopt_quote... yes
checking for curlopt_postquote... yes
checking for curlopt_prequote... yes
checking for curlopt_dirlistonly... yes
checking for curlopt_append... yes
checking for curlopt_ftp_use_eprt... yes
checking for curlopt_ftp_use_epsv... yes
checking for curlopt_ftp_use_pret... yes
checking for curlopt_ftp_create_missing_dirs... yes
checking for curlopt_ftp_response_timeout... yes
checking for curlopt_ftp_alternative_to_user... yes
checking for curlopt_ftp_skip_pasv_ip... yes
checking for curlopt_ftpsslauth... yes
checking for curlftpauth_default... yes
checking for curlftpauth_ssl... yes
checking for curlftpauth_tls... yes
checking for curlopt_ftp_ssl_ccc... yes
checking for curlftpssl_ccc_none... yes
checking for curlftpssl_ccc_passive... yes
checking for curlftpssl_ccc_active... yes
checking for curlopt_ftp_account... yes
checking for curlopt_ftp_filemethod... yes
checking for curlftpmethod_multicwd... yes
checking for curlftpmethod_nocwd... yes
checking for curlftpmethod_singlecwd... yes
checking for curlopt_rtsp_request... yes
checking for curl_rtspreq_options... yes
checking for curl_rtspreq_describe... yes
checking for curl_rtspreq_announce... yes
checking for curl_rtspreq_setup... yes
checking for curl_rtspreq_play... yes
checking for curl_rtspreq_pause... yes
checking for curl_rtspreq_teardown... yes
checking for curl_rtspreq_get_parameter... yes
checking for curl_rtspreq_set_parameter... yes
checking for curl_rtspreq_record... yes
checking for curl_rtspreq_receive... yes
checking for curlopt_rtsp_session_id... yes
checking for curlopt_rtsp_stream_uri... yes
checking for curlopt_rtsp_transport... yes
checking for curlopt_rtsp_header... no
checking for curlopt_rtsp_client_cseq... yes
checking for curlopt_rtsp_server_cseq... yes
checking for curlopt_transfertext... yes
checking for curlopt_proxy_transfer_mode... yes
checking for curlopt_crlf... yes
checking for curlopt_range... yes
checking for curlopt_resume_from... yes
checking for curlopt_resume_from_large... yes
checking for curlopt_customrequest... yes
checking for curlopt_filetime... yes
checking for curlopt_nobody... yes
checking for curlopt_infilesize... yes
checking for curlopt_infilesize_large... yes
checking for curlopt_upload... yes
checking for curlopt_maxfilesize... yes
checking for curlopt_maxfilesize_large... yes
checking for curlopt_timecondition... yes
checking for curlopt_timevalue... yes
checking for curlopt_timeout... yes
checking for curlopt_timeout_ms... yes
checking for curlopt_low_speed_limit... yes
checking for curlopt_low_speed_time... yes
checking for curlopt_max_send_speed_large... yes
checking for curlopt_max_recv_speed_large... yes
checking for curlopt_maxconnects... yes
checking for curlopt_closepolicy... yes
checking for curlopt_fresh_connect... yes
checking for curlopt_forbid_reuse... yes
checking for curlopt_connecttimeout... yes
checking for curlopt_connecttimeout_ms... yes
checking for curlopt_ipresolve... yes
checking for curl_ipresolve_whatever... yes
checking for curl_ipresolve_v4... yes
checking for curl_ipresolve_v6... yes
checking for curlopt_connect_only... yes
checking for curlopt_use_ssl... yes
checking for curlusessl_none... yes
checking for curlusessl_try... yes
checking for curlusessl_control... yes
checking for curlusessl_all... yes
checking for curlopt_resolve... yes
checking for curlopt_sslcert... yes
checking for curlopt_sslcerttype... yes
checking for curlopt_sslkey... yes
checking for curlopt_sslkeytype... yes
checking for curlopt_keypasswd... yes
checking for curlopt_sslengine... yes
checking for curlopt_sslengine_default... yes
checking for curlopt_sslversion... yes
checking for curl_sslversion_default... yes
checking for CURL_SSLVERSION_TLSv1... yes
checking for CURL_SSLVERSION_SSLv2... yes
checking for CURL_SSLVERSION_SSLv3... yes
checking for CURL_SSLVERSION_TLSv1_0... yes
checking for CURL_SSLVERSION_TLSv1_1... yes
checking for CURL_SSLVERSION_TLSv1_2... yes
checking for CURL_SSLVERSION_TLSv1_3... no
checking for curlopt_ssl_verifypeer... yes
checking for curlopt_cainfo... yes
checking for curlopt_issuercert... yes
checking for curlopt_capath... yes
checking for curlopt_crlfile... yes
checking for curlopt_ssl_verifyhost... yes
checking for curlopt_certinfo... yes
checking for curlopt_random_file... yes
checking for curlopt_egdsocket... yes
checking for curlopt_ssl_cipher_list... yes
checking for curlopt_ssl_sessionid_cache... yes
checking for curlopt_krblevel... yes
checking for curlopt_ssh_auth_types... yes
checking for curlopt_ssh_host_public_key_md5... yes
checking for curlopt_ssh_public_keyfile... yes
checking for curlopt_ssh_private_keyfile... yes
checking for curlopt_ssh_knownhosts... yes
checking for curlopt_ssh_keyfunction... yes
checking for curlkhstat_fine_add_to_file... yes
checking for curlkhstat_fine... yes
checking for curlkhstat_reject... yes
checking for curlkhstat_defer... yes
checking for curlopt_ssh_keydata... yes
checking for curlopt_private... yes
checking for curlopt_share... yes
checking for curlopt_new_file_perms... yes
checking for curlopt_new_directory_perms... yes
checking for curlopt_telnetoptions... yes
checking for curle_not_built_in... yes
checking for curle_obsolete... yes
checking for curle_ftp_pret_failed... yes
checking for curle_rtsp_cseq_error... yes
checking for curle_rtsp_session_error... yes
checking for curle_ftp_bad_file_list... yes
checking for curle_chunk_failed... yes
checking for curle_no_connection_available... yes
checking for curle_ssl_pinnedpubkeynotmatch... yes
checking for curle_ssl_invalidcertstatus... yes
checking for curle_http2_stream... no
checking for curlopt_gssapi_delegation... yes
checking for curlgssapi_delegation_policy_flag... yes
checking for curlgssapi_delegation_flag... yes
checking for CURLM_ADDED_ALREADY... yes
checking for curlopt_unix_socket_path... yes
checking for curlopt_path_as_is... yes
checking for curlopt_pipewait... yes
checking for curlproto_all... yes
checking for curlproto_dict... yes
checking for curlproto_file... yes
checking for curlproto_ftp... yes
checking for curlproto_ftps... yes
checking for curlproto_gopher... yes
checking for curlproto_http... yes
checking for curlproto_https... yes
checking for curlproto_imap... yes
checking for curlproto_imaps... yes
checking for curlproto_ldap... yes
checking for curlproto_ldaps... yes
checking for curlproto_pop3... yes
checking for curlproto_pop3s... yes
checking for curlproto_rtmp... yes
checking for curlproto_rtmpe... yes
checking for curlproto_rtmps... yes
checking for curlproto_rtmpt... yes
checking for curlproto_rtmpte... yes
checking for curlproto_rtmpts... yes
checking for curlproto_rtsp... yes
checking for curlproto_scp... yes
checking for curlproto_sftp... yes
checking for curlproto_smb... yes
checking for curlproto_smbs... yes
checking for curlproto_smtp... yes
checking for curlproto_smtps... yes
checking for curlproto_telnet... yes
checking for curlproto_tftp... yes
checking for curl_easy_escape... yes
checking for rb_thread_blocking_region()... no
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for ruby/io.h... yes
checking for rb_io_stdio_file()... yes
creating curb_config.h
creating Makefile

current directory: /home/partheey/.rvm/gems/ruby-2.6.2@gog_api/gems/curb-1.0.1/ext
make "DESTDIR=" clean

current directory: /home/partheey/.rvm/gems/ruby-2.6.2@gog_api/gems/curb-1.0.1/ext
make "DESTDIR="
compiling curb.c
In file included from /usr/share/rvm/rubies/ruby-2.6.2/include/ruby-2.6.0/ruby.h:33:0,
                 from curb.h:11,
                 from curb.c:8:
curb.c: In function ‘Init_curb_core’:
curb.c:300:66: error: ‘CURL_SSLVERSION_MAX_DEFAULT’ undeclared (first use in this function)
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_DEFAULT", LONG2NUM(CURL_SSLVERSION_MAX_DEFAULT));
                                                                  ^
/usr/share/rvm/rubies/ruby-2.6.2/include/ruby-2.6.0/ruby/ruby.h:1605:43: note: in definition of macro ‘RB_LONG2NUM’
 #define RB_LONG2NUM(x) rb_long2num_inline(x)
                                           ^
curb.c:300:57: note: in expansion of macro ‘LONG2NUM’
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_DEFAULT", LONG2NUM(CURL_SSLVERSION_MAX_DEFAULT));
                                                         ^
curb.c:300:66: note: each undeclared identifier is reported only once for each function it appears in
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_DEFAULT", LONG2NUM(CURL_SSLVERSION_MAX_DEFAULT));
                                                                  ^
/usr/share/rvm/rubies/ruby-2.6.2/include/ruby-2.6.0/ruby/ruby.h:1605:43: note: in definition of macro ‘RB_LONG2NUM’
 #define RB_LONG2NUM(x) rb_long2num_inline(x)
                                           ^
curb.c:300:57: note: in expansion of macro ‘LONG2NUM’
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_DEFAULT", LONG2NUM(CURL_SSLVERSION_MAX_DEFAULT));
                                                         ^
curb.c:306:66: error: ‘CURL_SSLVERSION_MAX_TLSv1_0’ undeclared (first use in this function)
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_TLSv1_0", LONG2NUM(CURL_SSLVERSION_MAX_TLSv1_0));
                                                                  ^
/usr/share/rvm/rubies/ruby-2.6.2/include/ruby-2.6.0/ruby/ruby.h:1605:43: note: in definition of macro ‘RB_LONG2NUM’
 #define RB_LONG2NUM(x) rb_long2num_inline(x)
                                           ^
curb.c:306:57: note: in expansion of macro ‘LONG2NUM’
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_TLSv1_0", LONG2NUM(CURL_SSLVERSION_MAX_TLSv1_0));
                                                         ^
curb.c:310:66: error: ‘CURL_SSLVERSION_MAX_TLSv1_1’ undeclared (first use in this function)
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_TLSv1_1", LONG2NUM(CURL_SSLVERSION_MAX_TLSv1_1));
                                                                  ^
/usr/share/rvm/rubies/ruby-2.6.2/include/ruby-2.6.0/ruby/ruby.h:1605:43: note: in definition of macro ‘RB_LONG2NUM’
 #define RB_LONG2NUM(x) rb_long2num_inline(x)
                                           ^
curb.c:310:57: note: in expansion of macro ‘LONG2NUM’
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_TLSv1_1", LONG2NUM(CURL_SSLVERSION_MAX_TLSv1_1));
                                                         ^
curb.c:314:66: error: ‘CURL_SSLVERSION_MAX_TLSv1_2’ undeclared (first use in this function)
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_TLSv1_2", LONG2NUM(CURL_SSLVERSION_MAX_TLSv1_2));
                                                                  ^
/usr/share/rvm/rubies/ruby-2.6.2/include/ruby-2.6.0/ruby/ruby.h:1605:43: note: in definition of macro ‘RB_LONG2NUM’
 #define RB_LONG2NUM(x) rb_long2num_inline(x)
                                           ^
curb.c:314:57: note: in expansion of macro ‘LONG2NUM’
   rb_define_const(mCurl, "CURL_SSLVERSION_MAX_TLSv1_2", LONG2NUM(CURL_SSLVERSION_MAX_TLSv1_2));
                                                         ^
curb.c: At top level:
cc1: warning: unrecognized command line option ‘-Wno-tautological-compare’
cc1: warning: unrecognized command line option ‘-Wno-self-assign’
cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
cc1: warning: unrecognized command line option ‘-Wno-constant-logical-operand’
cc1: warning: unrecognized command line option ‘-Wno-cast-function-type’
Makefile:243: recipe for target 'curb.o' failed
make: *** [curb.o] Error 1

make failed, exit code 2
taf2 commented 1 year ago

Sorry it looks like a compiler issue - if you can send over a pull request we can merge.