Project

General

Profile

Actions

Bug #9213

closed

[SDKs] After a fresh install, `arv` tells you to install gems

Added by Brett Smith over 8 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Story points:
0.5

Description

% gem install --user arvados-cli
[it installs a bunch of dependencies, it works]
% arv

Please install all required gems:

  gem install activesupport andand curb google-api-client json oj trollop yaml

[it exits 1]

Here's the code from arv that leads up to the error, along with the exception that leads to the exit:

% irb
irb(main):001:0> begin
irb(main):002:1*   require 'curb'
irb(main):003:1>   require 'rubygems'
irb(main):004:1>   require 'arvados/google_api_client'
irb(main):005:1>   require 'json'
irb(main):006:1>   require 'pp'
irb(main):007:1>   require 'trollop'
irb(main):008:1>   require 'andand'
irb(main):009:1>   require 'oj'
irb(main):010:1>   require 'active_support/inflector'
irb(main):011:1>   require 'yaml'
irb(main):012:1>   require 'tempfile'
irb(main):013:1>   require 'net/http'
irb(main):014:1> end
LoadError: cannot load such file -- google/api_client
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `require'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require'
        from /home/brett/.gem/ruby/2.1.0/gems/arvados-0.1.20160420143004/lib/arvados/google_api_client.rb:1:in `<top (required)>'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `require'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require'
        from (irb):4
        from /usr/bin/irb:11:in `<main>'

Subtasks 1 (0 open1 closed)

Task #9215: Review 9213-fix-arv-gems-wipResolvedBrett Smith05/12/2016Actions
Actions #1

Updated by Brett Smith over 8 years ago

Google API client gem seems to be buggy:

% gem list google

*** LOCAL GEMS ***

google-api-client (0.9.pre5, 0.6.4)
googleauth (0.5.1)

% irb
irb(main):001:0> require 'google/api_client'
Gem::LoadError: can't activate jwt-0.1.13, already activated jwt-1.5.4
        from /usr/lib/ruby/2.1.0/rubygems/specification.rb:2052:in `raise_if_conflicts'
        from /usr/lib/ruby/2.1.0/rubygems/specification.rb:1262:in `activate'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:54:in `gem'
        from /home/brett/.gem/ruby/2.1.0/gems/signet-0.4.5/lib/signet/oauth_2/client.rb:25:in `<top (required)>'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/brett/.gem/ruby/2.1.0/gems/google-api-client-0.6.4/lib/google/api_client/auth/jwt_asserter.rb:16:in `<top (required)>'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/brett/.gem/ruby/2.1.0/gems/google-api-client-0.6.4/lib/google/api_client/service_account.rb:16:in `<top (required)>'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/brett/.gem/ruby/2.1.0/gems/google-api-client-0.6.4/lib/google/api_client.rb:31:in `<top (required)>'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `require'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
        from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require'
        from (irb):1
        from /usr/bin/irb:11:in `<main>'
Actions #2

Updated by Brett Smith over 8 years ago

Switched the version limit to < 0.8.9. The latest in that range is 0.8.6, and it loads fine.

Actions #3

Updated by Peter Amstutz over 8 years ago

The cli gem also has a dependency on google api client, which has the same problem:

s.add_runtime_dependency 'google-api-client', '~> 0.6', '>= 0.6.3', '<0.9'
Actions #4

Updated by Brett Smith over 8 years ago

Peter Amstutz wrote:

The cli gem also has a dependency on google api client, which has the same problem:

Thanks. I thought it inherited that from arvados, but it turns out some of the tools require 'google/api_client' directly. Made the same change in arvados-cli.gemspec.

Actions #5

Updated by Brett Smith over 8 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Applied in changeset arvados|commit:4c4387de5857ef00899fcb760a7cfc5ad4b76268.

Actions

Also available in: Atom PDF