Ubuntu/Curb无法安装-缺少什么



我的服务器上有debian喘息7,我正在尝试安装curb-gem。我安装了

libcurl4-gnutls-dev libcurl3 libcurl3-gnutls libcurl4-openssl-dev

curl已安装:

curl --version
curl 7.38.0 (x86_64-pc-linux-gnu) libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.7 libidn/1.25 libssh2/1.4.3 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API SPNEGO NTLM NTLM_WB SSL libz TLS-SRP 

运气不好-我在安装gem时出现编译错误;(.

我不知道我缺了什么,但在检查模块的可用性时,有一些no应答器:

checking for curlopt_haproxyprotocol... no
checking for curlopt_tlsauth_srp... no
checking for curlopt_rtsp_header... no
checking for CURL_SSLVERSION_TLSv1_3... no
checking for curle_ssl_pinnedpubkeynotmatch... no
checking for curle_ssl_invalidcertstatus... no
checking for curle_http2_stream... no
checking for curlopt_unix_socket_path... no
checking for curlopt_path_as_is... no
checking for curlopt_pipewait... no
checking for curlproto_smb... no
checking for curlproto_smbs... no
checking for rb_thread_blocking_region()... no

以下是mkmf.log的完整输出:

current directory: /usr/local/rvm/gems/ruby-2.7.4/gems/curb-1.0.1/ext
/usr/local/rvm/rubies/ruby-2.7.4/bin/ruby -I /usr/local/rvm/rubies/ruby-2.7.4/lib/ruby/2.7.0 -r ./siteconf20220921-23996-4p62w7.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... 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... no
checking for curle_ssl_invalidcertstatus... no
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... no
checking for curlopt_path_as_is... no
checking for curlopt_pipewait... no
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... no
checking for curlproto_smbs... no
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: /usr/local/rvm/gems/ruby-2.7.4/gems/curb-1.0.1/ext
make "DESTDIR=" clean
current directory: /usr/local/rvm/gems/ruby-2.7.4/gems/curb-1.0.1/ext
make "DESTDIR="
compiling curb.c
In file included from /usr/local/rvm/rubies/ruby-2.7.4/include/ruby-2.7.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/local/rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/ruby.h:1620: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/local/rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/ruby.h:1620: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/local/rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/ruby.h:1620: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/local/rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/ruby.h:1620: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/local/rvm/rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/ruby.h:1620: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));
^
make: *** [curb.o] Error 1
make failed, exit code 2

有人能帮我解码这个输出吗?我脑子进水了,没主意了。

在这个Github问题中似乎有一些关于这个问题的细节-https://github.com/taf2/curb/issues/343.

让我印象深刻的是,结合libcurl-libs和/或OS版本,这是一个问题。

我将我的路缘版本锁定为<1解决了问题,然后可以在开发操作支持时升级。

最新更新