首页 > 解决方案 > 使用 YUM 在 AIX 7.2 中安装 Ruby

问题描述

问题:使用 YUM 在 AIX 7.2 中成功安装 Ruby 后,运行后显示以下错误gem search puppet。Google 没有提供以下错误的任何详细信息,但我怀疑它与 OpenSSL 有关。

服务器详情:

Operating System : AIX
bash-4.4# oslevel
7.2.0.0
bash-4.4# ruby -v
ruby 2.4.4p296 (2018-03-28 revision 63013) [powerpc-aix6.1.0.0]
bash-4.4# gem -v
2.6.14.1

错误详情 :

bash-4.4# gem search puppet

远程宝石

/opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': load failed - /opt/freeware/lib64/ruby/2.4.0/powerpc-aix6.1.0.0/openssl.so. Please issue below command for detailed reasons: (LoadError)
        /usr/sbin/execerror ruby "30 /opt/freeware/lib64/ruby/2.4.0/powerpc-aix6.1.0.0/openssl.so" "36 X509_REVOKED_dup 475 /usr/lib/libcrypto.a[libcrypto64.so.1.0.0]" "36 X509_STORE_CTX_get0_store 633 /usr/lib/libcrypto.a[libcrypto64.so.1.0.0]" "36 SSL_is_server 796 /usr/lib/libssl.a[libssl64.so.1.0.0]" "36 SSL_get0_alpn_selected 837 /usr/lib/libssl.a[libssl64.so.1.0.0]" "36 SSL_CTX_set_alpn_select_cb 838 /usr/lib/libssl.a[libssl64.so.1.0.0]" "36 SSL_CTX_set_alpn_protos 839 /usr/lib/libssl.a[libssl64.so.1.0.0]" "2 /opt/freeware/lib64/ruby/2.4.0/powerpc-aix6.1.0.0/openssl.so" "6 8"
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /opt/freeware/lib64/ruby/2.4.0/openssl.rb:13:in `<top (required)>'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /opt/freeware/lib64/ruby/2.4.0/net/https.rb:23:in `<top (required)>'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/request.rb:49:in `configure_connection_for_https'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/request/https_pool.rb:6:in `setup_connection'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/request/http_pool.rb:39:in `make_connection'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/request/http_pool.rb:20:in `checkout'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/request.rb:132:in `connection_for'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/request.rb:187:in `perform_request'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/request.rb:156:in `fetch'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/remote_fetcher.rb:368:in `request'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/remote_fetcher.rb:251:in `fetch_http'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/remote_fetcher.rb:292:in `fetch_path'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/remote_fetcher.rb:327:in `cache_update_path'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/source.rb:190:in `load_specs'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/spec_fetcher.rb:263:in `tuples_for'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/spec_fetcher.rb:227:in `block in available_specs'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/source_list.rb:98:in `each'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/source_list.rb:98:in `each_source'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/spec_fetcher.rb:223:in `available_specs'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/spec_fetcher.rb:148:in `detect'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/commands/query_command.rb:175:in `show_gems'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/commands/query_command.rb:117:in `block in execute'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/commands/query_command.rb:117:in `each'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/commands/query_command.rb:117:in `execute'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/command.rb:310:in `invoke_with_build_args'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/command_manager.rb:169:in `process_args'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/command_manager.rb:139:in `run'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/gem_runner.rb:55:in `run'
        from /usr/bin/gem:21:in `<main>'

的输出 ruby -v -ropenssl -rfiddle -e 'puts Fiddle::Function.new(Fiddle.dlopen(nil)["SSLeay_version"], [Fiddle::TYPE_INT], Fiddle::TYPE_VOIDP).call(0)'

ruby 2.4.4p296 (2018-03-28 revision 63013) [powerpc-aix6.1.0.0]
/opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': load failed - /opt/freeware/lib64/ruby/2.4.0/powerpc-aix6.1.0.0/openssl.so. Please issue below command for detailed reasons: (LoadError)
        /usr/sbin/execerror ruby "30 /opt/freeware/lib64/ruby/2.4.0/powerpc-aix6.1.0.0/openssl.so" "36 X509_REVOKED_dup 475 /usr/lib/libcrypto.a[libcrypto64.so.1.0.0]" "36 X509_STORE_CTX_get0_store 633 /usr/lib/libcrypto.a[libcrypto64.so.1.0.0]" "36 SSL_is_server 796 /usr/lib/libssl.a[libssl64.so.1.0.0]" "36 SSL_get0_alpn_selected 837 /usr/lib/libssl.a[libssl64.so.1.0.0]" "36 SSL_CTX_set_alpn_select_cb 838 /usr/lib/libssl.a[libssl64.so.1.0.0]" "36 SSL_CTX_set_alpn_protos 839 /usr/lib/libssl.a[libssl64.so.1.0.0]" "2 /opt/freeware/lib64/ruby/2.4.0/powerpc-aix6.1.0.0/openssl.so" "6 8"
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /opt/freeware/lib64/ruby/2.4.0/openssl.rb:13:in `<top (required)>'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /opt/freeware/lib64/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'

标签: rubypuppetaix

解决方案


推荐阅读