0

几天来我一直在尝试让 jruby 运行(1.6.8 和 1.7.6 之间的任何版本)。我不断收到捆绑安装错误。它抱怨路边,我用自制软件安装了 curl,我在小牛队。我安装了最新的 xcode 并下载了开发工具。我不知所措。这是一个长镜头,会有任何答案,但我总是希望:)

Gem files will remain installed in /Users/jdkealy/.rbenv/versions/jruby-1.6.8/lib/ruby/gems/1.8/gems/curb-0.8.1 for inspection.
Results logged to /Users/jdkealy/.rbenv/versions/jruby-1.6.8/lib/ruby/gems/1.8/gems/curb-0.8.1/ext/gem_make.out
An error occurred while installing curb (0.8.1), and Bundler cannot continue.
Make sure that `gem install curb -v '0.8.1'` succeeds before bundling.

这是日志的输出:

/Users/jdkealy/.rbenv/versions/jruby-1.6.8/bin/jruby extconf.rb 
WARNING: JRuby does not support native extensions or the `mkmf' library very well.
Check http://kenai.com/projects/jruby/pages/Home for alternatives.
checking for curl-config... 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_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 curlproxy_http... yes
checking for curlproxy_socks4... yes
checking for curlproxy_socks5... 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 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()... no
checking for curl_multi_fdset()... no
checking for curl_multi_perform()... 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_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 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 Ruby 1.9 Hash... no
checking for Ruby 1.9 st.h... no
checking for curl_easy_escape... yes
checking for rb_thread_blocking_region()... creating curb_config.h
creating Makefile

make
cc -I. -I. -I/Users/jdkealy/.rbenv/versions/jruby-1.6.8/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\"curb_config.h\"  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE        -fPIC -DTARGET_RT_MAC_CFM=0  -fno-omit-frame-pointer -fno-strict-aliasing  -fexceptions    -g -Wall  -arch x86_64 -c curb.c
curb.c:344:54: warning: implicit conversion from 'unsigned long' to 'int' changes value from 18446744073709551598 to -18 [-Wconstant-conversion]
  rb_define_const(mCurl, "CURLAUTH_ANYSAFE", INT2FIX(CURLAUTH_ANYSAFE));
                                             ~~~~~~~ ^~~~~~~~~~~~~~~~
/usr/include/curl/curl.h:621:32: note: expanded from macro 'CURLAUTH_ANYSAFE'
#define CURLAUTH_ANYSAFE      (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
curb.c:351:50: warning: implicit conversion from 'unsigned long' to 'int' changes value from 18446744073709551599 to -17 [-Wconstant-conversion]
  rb_define_const(mCurl, "CURLAUTH_ANY", INT2FIX(CURLAUTH_ANY));
                                         ~~~~~~~ ^~~~~~~~~~~~
/usr/include/curl/curl.h:620:32: note: expanded from macro 'CURLAUTH_ANY'
#define CURLAUTH_ANY          (~CURLAUTH_DIGEST_IE)
                               ^~~~~~~~~~~~~~~~~~~
2 warnings generated.
cc -I. -I. -I/Users/jdkealy/.rbenv/versions/jruby-1.6.8/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\"curb_config.h\"  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE        -fPIC -DTARGET_RT_MAC_CFM=0  -fno-omit-frame-pointer -fno-strict-aliasing  -fexceptions    -g -Wall  -arch x86_64 -c curb_easy.c
cc -I. -I. -I/Users/jdkealy/.rbenv/versions/jruby-1.6.8/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\"curb_config.h\"  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE        -fPIC -DTARGET_RT_MAC_CFM=0  -fno-omit-frame-pointer -fno-strict-aliasing  -fexceptions    -g -Wall  -arch x86_64 -c curb_errors.c
cc -I. -I. -I/Users/jdkealy/.rbenv/versions/jruby-1.6.8/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\"curb_config.h\"  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE        -fPIC -DTARGET_RT_MAC_CFM=0  -fno-omit-frame-pointer -fno-strict-aliasing  -fexceptions    -g -Wall  -arch x86_64 -c curb_multi.c
cc -I. -I. -I/Users/jdkealy/.rbenv/versions/jruby-1.6.8/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\"curb_config.h\"  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE        -fPIC -DTARGET_RT_MAC_CFM=0  -fno-omit-frame-pointer -fno-strict-aliasing  -fexceptions    -g -Wall  -arch x86_64 -c curb_postfield.c
cc -I. -I. -I/Users/jdkealy/.rbenv/versions/jruby-1.6.8/lib/native/include/ruby -I. -DRUBY_EXTCONF_H=\"curb_config.h\"  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE        -fPIC -DTARGET_RT_MAC_CFM=0  -fno-omit-frame-pointer -fno-strict-aliasing  -fexceptions    -g -Wall  -arch x86_64 -c curb_upload.c
cc -dynamic -bundle -undefined dynamic_lookup  -o curb_core.bundle curb.o curb_easy.o curb_errors.o curb_multi.o curb_postfield.o curb_upload.o -L"." -L"/Users/jdkealy/.rbenv/versions/jruby-1.6.8/lib" -bundle -framework JavaVM -Wl,-syslibroot, -mmacosx-version-min=10.5   -arch x86_64  -lcurl
ld: library not found for -lbundle1.o
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [curb_core.bundle] Error 1
4

1 回答 1

1

根据 在 Ruby 上安装遏制 gem, 您可能会遇到 32 位/64 位兼容性问题。也许你需要 64 位的 openssl?可能也需要zlib。尝试重新安装:

  • $ brew卸载openssl
  • $ brew install --64-bit openssl

   我猜在这里,但也许

  • $ gem install cream -- --with-ldflags='-L/usr/local/Cellar/openssl/0.9.8s' (或任何你对应的版本)
于 2013-11-13T20:08:39.627 回答