[Rock-dev] rock-core package set: gem version issue

Steffen Planthaber Steffen.Planthaber at dfki.de
Mon Feb 8 14:08:49 CET 2016


Hi,

I am currently trying to resolve an issue with gem versions on rock-core.

When bootstrapping, this error occurs:

 >ERROR:  Error installing grape:
 >    	activesupport requires Ruby version >= 2.2.2.


This is in fact true, the most recent version of avtivesupport requires 
this version.

So I tried changing the osdep, which is already merged in master:
https://github.com/rock-core/package_set/commit/3fd15a5db4bfa8d74834b3d70c3b95d18f409349

This works as a standalone, but doesn't fix the error, because 
activesupport is installed versionless via dependency of the grape gem, 
not directly.

To resolve the error, the standalone osdep has to be installed before 
grape is getting installed.

So I tried to add activesuppport as direct dependency of the grape gem 
in the rock.core/rock.osdeps:

 >grape:
 >  gem:
 >   - activesupport<=4.2.5.1
 >   - grape

adding it as osdep (internal reference) also doesn't work but leads to a 
different error:

 >grape:
 >  osdep: activesupport
 >  gem: grape
 >
 >activesupport:
 >  gem: activesupport<=4.2.5.1


 >/usr/lib/ruby/2.1.0/rubygems/dependency.rb:45:in `initialize': 
 >dependency name must be a String, was ["activesupport", "<=4.2.5.1"] 
 >(ArgumentError)


I think the issue is that gems are collected and gem install is only 
called once including all gems to be installed, and does not install the 
versioned gems first.


 >installing/updating RubyGems dependencies: activesupport <=4.2.5.1, 
 >activesupport <=4.2.5.1, binding_of_caller, bundler, concurrent-ruby, 
 >concurrent-ruby-ext, cucumber, faye-websocket, grape, hooks, kramdown, 
 >pastel <0.6, qtbindings, rack-cors, rb-readline, rice, sprockets, 
 >state_machine <=1.0.3, thin, websocket
 >Command failed
 >autoproj: failed in osdeps phase
 >    '/usr/bin/ruby2.1 -S gem2.1 install --no-user-install --no-format-
 >executable --no-rdoc --no-ri thin grape rack-cors faye-websocket 
 >sprockets websocket qtbindings bundler cucumber rice kramdown 
 >binding_of_caller rb-readline concurrent-ruby concurrent-ruby-ext 
 >hooks' returned status 1


In these lines I just saw that the versioned gems are actually removed 
from the list of gems to be installed.

Nevertheless is there a way to tell autoproj to install specific gems 
before others?


Best, Steffen



-- 
  Steffen Planthaber
  Weltraumrobotik

  Besuchsadresse der Nebengeschäftstelle:
  DFKI GmbH
  Robotics Innovation Center
  Robert-Hooke-Straße 5
  28359 Bremen, Germany

  Postadresse der Hauptgeschäftsstelle Standort Bremen:
  DFKI GmbH
  Robotics Innovation Center
  Robert-Hooke-Straße 1
  28359 Bremen, Germany

  Tel.:     +49 421 178 45-4125
  Zentrale: +49 421 178 45-0
  Fax:      +49 421 178 45-4150 (Faxe bitte namentlich kennzeichnen)
  E-Mail:   Steffen.Planthaber at dfki.de

  Weitere Informationen: http://www.dfki.de/robotik
  -----------------------------------------------------------------------
  Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
  Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
  Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
  (Vorsitzender) Dr. Walter Olthoff
  Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
  Amtsgericht Kaiserslautern, HRB 2313
  Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
  USt-Id.Nr.:    DE 148646973
  Steuernummer:  19/673/0060/3
  -----------------------------------------------------------------------



More information about the Rock-dev mailing list