我正在使用ruby-1.9.2-p290并安装了curl,curl-devel,libcurl和libcurl-devel但是curb gem没有安装,我收到以下错误:
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/home/jophine/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for curl-config... yes
checking for curlinfo_redirect_time... no
checking for curlinfo_response_code... no
checking for curlinfo_filetime... no
checking for curlinfo_redirect_count... no
checking for curlinfo_os_errno... no
checking for curlinfo_num_connects... no
checking for curlinfo_ftp_entry_path... no
checking for curl_version_ssl... no
checking for curl_version_libz... no
checking for curl_version_ntlm... no
checking for curl_version_gssnegotiate... no
checking for curl_version_debug... no
checking for curl_version_asynchdns... no
checking for curl_version_spnego... no
checking for curl_version_largefile... no
checking for curl_version_idn... no
checking for curl_version_sspi... no
checking for curl_version_conv... no
checking for curlproxy_http... no
checking for curlproxy_socks4... no
checking for curlproxy_socks5... no
checking for curlauth_basic... no
checking for curlauth_digest... no
checking for curlauth_gssnegotiate... no
checking for curlauth_ntlm... no
checking for curlauth_anysafe... no
checking for curlauth_any... no
checking for curle_tftp_notfound... no
checking for curle_tftp_perm... no
checking for curle_tftp_diskfull... no
checking for curle_tftp_illegal... no
checking for curle_tftp_unknownid... no
checking for curle_tftp_exists... no
checking for curle_tftp_nosuchuser... no
checking for curle_send_fail_rewind... no
checking for curle_ssl_engine_initfailed... no
checking for curle_login_denied... no
checking for curlmopt_maxconnects... no
checking for curlopt_seekfunction... no
checking for curlopt_seekdata... no
checking for curlopt_sockoptfunction... no
checking for curlopt_sockoptdata... no
checking for curlopt_opensocketfunction... no
checking for curlopt_opensocketdata... no
checking for curle_conv_failed... no
checking for curle_conv_reqd... no
checking for curle_ssl_cacert_badfile... no
checking for curle_remote_file_not_found... no
checking for curle_ssh... no
checking for curle_ssl_shutdown_failed... no
checking for curle_again... no
checking for curle_ssl_crl_badfile... no
checking for curle_ssl_issuer_error... no
checking for curlopt_username... no
checking for curlopt_password... no
checking for curlinfo_primary_ip... no
checking for curlauth_digest_ie... no
checking for curlftpmethod_multicwd... no
checking for curlftpmethod_nocwd... no
checking for curlftpmethod_singlecwd... no
checking for curlm_bad_socket... no
checking for curlm_unknown_option... no
checking for curl_multi_timeout()... yes
checking for curl_multi_fdset()... yes
checking for curl_multi_perform()... yes
checking for curlopt_interleavefunction... no
checking for curlopt_interleavedata... no
checking for curlopt_chunk_bgn_function... no
checking for curlopt_chunk_end_function... no
checking for curlopt_chunk_data... no
checking for curlopt_fnmatch_function... no
checking for curlopt_fnmatch_data... no
checking for curlopt_errorbuffer... no
checking for curlopt_stderr... no
checking for curlopt_failonerror... no
checking for curlopt_url... no
checking for curlopt_protocols... no
checking for curlopt_redir_protocols... no
checking for curlopt_proxy... no
checking for curlopt_proxyport... no
checking for curlopt_proxytype... no
checking for curlopt_noproxy... no
checking for curlopt_httpproxytunnel... no
checking for curlopt_socks5_gssapi_service... no
checking for curlopt_socks5_gssapi_nec... no
checking for curlopt_interface... no
checking for curlopt_localport... no
checking for curlopt_dns_cache_timeout... no
checking for curlopt_dns_use_global_cache... no
checking for curlopt_buffersize... no
checking for curlopt_port... no
checking for curlopt_tcp_nodelay... no
checking for curlopt_address_scope... no
checking for curlopt_netrc... no
checking for curl_netrc_optional... no
checking for curl_netrc_ignored... no
checking for curl_netrc_required... no
checking for curlopt_netrc_file... no
checking for curlopt_userpwd... no
checking for curlopt_proxyuserpwd... no
checking for curlopt_username... no
checking for curlopt_password... no
checking for curlopt_password... no
checking for curlopt_password... no
checking for curlopt_httpauth... no
checking for curlauth_digest_ie... no
checking for curlauth_only... no
checking for curlopt_tlsauth_type... no
checking for curlopt_tlsauth_srp... no
checking for curlopt_tlsauth_username... no
checking for curlopt_tlsauth_password... no
checking for curlopt_proxyauth... no
checking for curlopt_autoreferer... no
checking for curlopt_encoding... no
checking for curlopt_followlocation... no
checking for curlopt_unrestricted_auth... no
checking for curlopt_maxredirs... no
checking for curlopt_postredir... no
checking for curlopt_put... no
checking for curlopt_post... no
checking for curlopt_postfields... no
checking for curlopt_postfieldsize... no
checking for curlopt_postfieldsize_large... no
checking for curlopt_copypostfields... no
checking for curlopt_httppost... no
checking for curlopt_referer... no
checking for curlopt_useragent... no
checking for curlopt_httpheader... no
checking for curlopt_http200aliases... no
checking for curlopt_cookie... no
checking for curlopt_cookiefile... no
checking for curlopt_cookiejar... no
checking for curlopt_cookiesession... no
checking for curlopt_cookielist... no
checking for curlopt_httpget... no
checking for curlopt_http_version... no
checking for curl_http_version_none... no
checking for curl_http_version_1_0... no
checking for curl_http_version_1_1... no
checking for curlopt_ignore_content_length... no
checking for curlopt_http_content_decoding... no
checking for curlopt_http_transfer_decoding... no
checking for curlopt_mail_from... no
checking for curlopt_mail_rcpt... no
checking for curlopt_tftp_blksize... no
checking for curlopt_ftpport... no
checking for curlopt_quote... no
checking for curlopt_postquote... no
checking for curlopt_prequote... no
checking for curlopt_dirlistonly... no
checking for curlopt_append... no
checking for curlopt_ftp_use_eprt... no
checking for curlopt_ftp_use_epsv... no
checking for curlopt_ftp_use_pret... no
checking for curlopt_ftp_create_missing_dirs... no
checking for curlopt_ftp_response_timeout... no
checking for curlopt_ftp_alternative_to_user... no
checking for curlopt_ftp_skip_pasv_ip... no
checking for curlopt_ftpsslauth... no
checking for curlftpauth_default... no
checking for curlftpauth_ssl... no
checking for curlftpauth_tls... no
checking for curlopt_ftp_ssl_ccc... no
checking for curlftpssl_ccc_none... no
checking for curlftpssl_ccc_passive... no
checking for curlftpssl_ccc_active... no
checking for curlopt_ftp_account... no
checking for curlopt_ftp_filemethod... no
checking for curlftpmethod_multicwd... no
checking for curlftpmethod_nocwd... no
checking for curlftpmethod_singlecwd... no
checking for curlopt_rtsp_request... no
checking for curl_rtspreq_options... no
checking for curl_rtspreq_describe... no
checking for curl_rtspreq_announce... no
checking for curl_rtspreq_setup... no
checking for curl_rtspreq_play... no
checking for curl_rtspreq_pause... no
checking for curl_rtspreq_teardown... no
checking for curl_rtspreq_get_parameter... no
checking for curl_rtspreq_set_parameter... no
checking for curl_rtspreq_record... no
checking for curl_rtspreq_receive... no
checking for curlopt_rtsp_session_id... no
checking for curlopt_rtsp_stream_uri... no
checking for curlopt_rtsp_transport... no
checking for curlopt_rtsp_header... no
checking for curlopt_rtsp_client_cseq... no
checking for curlopt_rtsp_server_cseq... no
checking for curlopt_transfertext... no
checking for curlopt_proxy_transfer_mode... no
checking for curlopt_crlf... no
checking for curlopt_range... no
checking for curlopt_resume_from... no
checking for curlopt_resume_from_large... no
checking for curlopt_customrequest... no
checking for curlopt_filetime... no
checking for curlopt_nobody... no
checking for curlopt_infilesize... no
checking for curlopt_infilesize_large... no
checking for curlopt_upload... no
checking for curlopt_maxfilesize... no
checking for curlopt_maxfilesize_large... no
checking for curlopt_timecondition... no
checking for curlopt_timevalue... no
checking for curlopt_timeout... no
checking for curlopt_timeout_ms... no
checking for curlopt_low_speed_limit... no
checking for curlopt_low_speed_time... no
checking for curlopt_max_send_speed_large... no
checking for curlopt_max_recv_speed_large... no
checking for curlopt_maxconnects... no
checking for curlopt_closepolicy... no
checking for curlopt_fresh_connect... no
checking for curlopt_forbid_reuse... no
checking for curlopt_connecttimeout... no
checking for curlopt_connecttimeout_ms... no
checking for curlopt_ipresolve... no
checking for curl_ipresolve_whatever... no
checking for curl_ipresolve_v4... no
checking for curl_ipresolve_v6... no
checking for curlopt_connect_only... no
checking for curlopt_use_ssl... no
checking for curlusessl_none... no
checking for curlusessl_try... no
checking for curlusessl_control... no
checking for curlusessl_all... no
checking for curlopt_resolve... no
checking for curlopt_sslcert... no
checking for curlopt_sslcerttype... no
checking for curlopt_sslkey... no
checking for curlopt_sslkeytype... no
checking for curlopt_keypasswd... no
checking for curlopt_sslengine... no
checking for curlopt_sslengine_default... no
checking for curlopt_sslversion... no
checking for curl_sslversion_default... no
checking for CURL_SSLVERSION_TLSv1... no
checking for CURL_SSLVERSION_SSLv2... no
checking for CURL_SSLVERSION_SSLv3... no
checking for curlopt_ssl_verifypeer... no
checking for curlopt_cainfo... no
checking for curlopt_issuercert... no
checking for curlopt_capath... no
checking for curlopt_crlfile... no
checking for curlopt_ssl_verifyhost... no
checking for curlopt_certinfo... no
checking for curlopt_random_file... no
checking for curlopt_egdsocket... no
checking for curlopt_ssl_cipher_list... no
checking for curlopt_ssl_sessionid_cache... no
checking for curlopt_krblevel... no
checking for curlopt_ssh_auth_types... no
checking for curlopt_ssh_host_public_key_md5... no
checking for curlopt_ssh_public_keyfile... no
checking for curlopt_ssh_private_keyfile... no
checking for curlopt_ssh_knownhosts... no
checking for curlopt_ssh_keyfunction... no
checking for curlkhstat_fine_add_to_file... no
checking for curlkhstat_fine... no
checking for curlkhstat_reject... no
checking for curlkhstat_defer... no
checking for curlopt_ssh_keydata... no
checking for curlopt_private... no
checking for curlopt_share... no
checking for curlopt_new_file_perms... no
checking for curlopt_new_directory_perms... no
checking for curlopt_telnetoptions... no
checking for curle_not_built_in... no
checking for curle_obsolete... no
checking for Ruby 1.9 Hash... yes
checking for Ruby 1.9 st.h... yes
checking for curl_easy_escape... no
checking for rb_thread_blocking_region()... yes
creating curb_config.h
creating Makefile
make
gcc -I. -I/home/jophine/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/x86_64-linux -I/home/jophine/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/ruby/backward -I/home/jophine/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1 -I. -DRUBY_EXTCONF_H=\"curb_config.h\" -I/home/jophine/.rvm/usr/include -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -g -Wall -o curb_easy.o -c curb_easy.c
In file included from /usr/include/curl/curl.h:35,
from curb.h:12,
from curb_easy.h:10,
from curb_easy.c:7:
/usr/include/curl/curlbuild.h:6:26: error: curlbuild-64.h: No such file or directory
In file included from /usr/include/curl/curl.h:36,
from curb.h:12,
from curb_easy.h:10,
from curb_easy.c:7:
/usr/include/curl/curlrules.h:80:4: error: #error "CURL_SIZEOF_LONG definition is missing!"
In file included from /usr/include/curl/curl.h:36,
from curb.h:12,
from curb_easy.h:10,
from curb_easy.c:7:
/usr/include/curl/curlrules.h:81: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Compilation_aborted_CURL_SIZEOF_LONG_is_missing’
/usr/include/curl/curlrules.h:85:4: error: #error "CURL_TYPEOF_CURL_SOCKLEN_T definition is missing!"
/usr/include/curl/curlrules.h:90:4: error: #error "CURL_SIZEOF_CURL_SOCKLEN_T definition is missing!"
/usr/include/curl/curlrules.h:95:4: error: #error "CURL_TYPEOF_CURL_OFF_T definition is missing!"
/usr/include/curl/curlrules.h:100:4: error: #error "CURL_FORMAT_CURL_OFF_T definition is missing!"
/usr/include/curl/curlrules.h:105:4: error: #error "CURL_FORMAT_CURL_OFF_TU definition is missing!"
/usr/include/curl/curlrules.h:110:4: error: #error "CURL_FORMAT_OFF_T definition is missing!"
/usr/include/curl/curlrules.h:115:4: error: #error "CURL_SIZEOF_CURL_OFF_T definition is missing!"
/usr/include/curl/curlrules.h:120:4: error: #error "CURL_SUFFIX_CURL_OFF_T definition is missing!"
/usr/include/curl/curlrules.h:125:4: error: #error "CURL_SUFFIX_CURL_OFF_TU definition is missing!"
/usr/include/curl/curlrules.h:154: error: ‘curl_off_t’ undeclared here (not in a function)
/usr/include/curl/curlrules.h:154: error: ‘CURL_SIZEOF_CURL_OFF_T’ undeclared here (not in a function)
/usr/include/curl/curlrules.h:174: error: ‘curl_socklen_t’ undeclared here (not in a function)
/usr/include/curl/curlrules.h:174: error: ‘CURL_SIZEOF_CURL_SOCKLEN_T’ undeclared here (not in a function)
In file included from curb.h:12,
from curb_easy.h:10,
from curb_easy.c:7:
/usr/include/curl/curl.h:206: error: expected declaration specifiers or ‘...’ before ‘curl_off_t’
curb_easy.c: In function ‘callback_exception’:
curb_easy.c:31: warning: unused parameter ‘unused’
curb_easy.c: In function ‘proc_debug_handler’:
curb_easy.c:160: warning: unused variable ‘procret’
curb_easy.c:155: warning: unused parameter ‘curl’
curb_easy.c: In function ‘ruby_curl_easy_timeout_get’:
curb_easy.c:1054: warning: unused parameter ‘timeout’
curb_easy.c: In function ‘ruby_curl_easy_connect_timeout_get’:
curb_easy.c:1080: warning: unused parameter ‘connect_timeout’
curb_easy.c: In function ‘ruby_curl_easy_dns_cache_timeout_get’:
curb_easy.c:1103: warning: unused parameter ‘dns_cache_timeout’
curb_easy.c: In function ‘ruby_curl_easy_ftp_response_timeout_get’:
curb_easy.c:1130: warning: unused parameter ‘ftp_response_timeout’
curb_easy.c: In function ‘ruby_curl_easy_low_speed_limit_get’:
curb_easy.c:1153: warning: unused parameter ‘low_speed_limit’
curb_easy.c: In function ‘ruby_curl_easy_low_speed_time_get’:
curb_easy.c:1175: warning: unused parameter ‘low_speed_time’
curb_easy.c: In function ‘ruby_curl_easy_username_set’:
curb_easy.c:1185: warning: unused parameter ‘self’
curb_easy.c:1185: warning: unused parameter ‘username’
curb_easy.c: In function ‘ruby_curl_easy_username_get’:
curb_easy.c:1199: warning: unused parameter ‘self’
curb_easy.c:1199: warning: unused parameter ‘username’
curb_easy.c: In function ‘ruby_curl_easy_password_set’:
curb_easy.c:1213: warning: unused parameter ‘self’
curb_easy.c:1213: warning: unused parameter ‘password’
curb_easy.c: In function ‘ruby_curl_easy_password_get’:
curb_easy.c:1227: warning: unused parameter ‘self’
curb_easy.c:1227: warning: unused parameter ‘password’
curb_easy.c: In function ‘ruby_curl_easy_ssl_version_get’:
curb_easy.c:1253: warning: unused parameter ‘ssl_version’
curb_easy.c: In function ‘ruby_curl_easy_use_ssl_get’:
curb_easy.c:1274: warning: unused parameter ‘use_ssl’
curb_easy.c: In function ‘ruby_curl_easy_ftp_filemethod_get’:
curb_easy.c:1295: warning: unused parameter ‘ftp_filemethod’
curb_easy.c: In function ‘ruby_curl_easy_cleanup’:
curb_easy.c:2146: warning: unused parameter ‘self’
curb_easy.c: In function ‘ruby_curl_easy_file_time_get’:
curb_easy.c:2530: warning: unused parameter ‘self’
curb_easy.c: In function ‘ruby_curl_easy_redirect_time_get’:
curb_easy.c:2644: warning: unused parameter ‘self’
curb_easy.c: In function ‘ruby_curl_easy_redirect_count_get’:
curb_easy.c:2667: warning: unused parameter ‘self’
curb_easy.c: In function ‘ruby_curl_easy_os_errno_get’:
curb_easy.c:2895: warning: unused parameter ‘self’
curb_easy.c: In function ‘ruby_curl_easy_num_connects_get’:
curb_easy.c:2924: warning: unused parameter ‘self’
curb_easy.c: In function ‘ruby_curl_easy_ftp_entry_path_get’:
curb_easy.c:2965: warning: unused parameter ‘self’
curb_easy.c: In function ‘ruby_curl_easy_get_opt’:
curb_easy.c:3093: warning: unused parameter ‘self’
curb_easy.c:3093: warning: unused parameter ‘opt’
curb_easy.c: In function ‘ruby_curl_easy_error_message’:
curb_easy.c:3191: warning: unused parameter ‘klass’
make: *** [curb_easy.o] Error 1
Gem files will remain installed in /home/jophine/.rvm/gems/ruby-1.9.2-p290@rails/gems/curb-0.7.18 for inspection.
Results logged to /home/jophine/.rvm/gems/ruby-1.9.2-p290@rails/gems/curb-0.7.18/ext/gem_make.out
An error occured while installing curb (0.7.18), and Bundler cannot continue.
Make sure that `gem install curb -v '0.7.18'` succeeds before bundling.
我不知道这个错误。有人请帮忙。在此先感谢。
答案 0 :(得分:15)
这是我必须安装的特定库才能让它工作。
libcurl4-openssl-dev
希望这有帮助。
答案 1 :(得分:5)
sudo apt-get install libcurl3 libcurl3-gnutls libcurl4-openssl-dev
然后
sudo gem install curb