Difficulty in Install

Hello all,

When trying to install SequenceServer, I get the following error when i try to launch the program:

/home/matt/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1990:in raise_if_conflicts': Unable to activate sequenceserver-0.8.3, because bundler-1.3.2 conflicts with bundler (~> 1.2.0) (Gem::LoadError) from /home/matt/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1163:in activate’
from /home/matt/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:48:in gem' from /home/matt/.rvm/gems/ruby-1.9.3-p392/bin/sequenceserver:22:in
from /home/matt/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in eval' from /home/matt/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in

Does anyone know how to fix this? It may be obvious from the question, but I am somewhat a novice when it comes to command line.

Thanks!

When trying to install SequenceServer, I get the following error when i try
to launch the program:

/home/matt/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1990:in
`raise_if_conflicts': Unable to activate sequenceserver-0.8.3, because
bundler-1.3.2 conflicts with bundler (~> 1.2.0) (Gem::LoadError)

[...]

Does anyone know how to fix this? It may be obvious from the question, but I
am somewhat a novice when it comes to command line.

Are you running SS from command line? Or is it Apache + Passenger?
If it's command line, I am unable to guess what's could be requiring
bundler 1.3.2 before SS. Could you try running `gem uninstall
bundler` from the command line and remove all version of bundler
except 1.2.x and see if SS starts?

-- yeban

Yeban,

I am running SS from command line. Any other ideas? I’m still getting the same error. Here’s what I’ve done: removed all versions of bundler except for 1.2.0, downgraded rubygems from 2.0.3 to 1.8.25, and tried uninstalling & reinstalling SS. Do you think the version of ruby (1.9.3-p392) is incompatible with SS? If so, how do I uninstall Ruby and reinstall an older version that you know is compatible?

Thanks!

Hi Matthew,

I wouldn’t expect the ruby version to be the problem - I use 1.9.3 by default for all my Ruby stuff nowadays. I’m not sure if SS works with ruby 2.0, haven’t tried.

I would guess you get a slightly different error if you’ve uninstalled all bundlers except 1.2.0. I was able to recapitulate this error by having both ss 0.8.3 and bundler 1.3.3 installed. I was able to rescue it by uninstalling bundler 1.3.3 (so only 1.2, 1.1 and 1.0 series versions remained).

@yeban: do you know if there is any particular reason the gemspec is ~>1.2.0 rather than >=1.2.0 ? In my experience ~> dependencies are more trouble than they are worth, for these kinds of errors. What about ~>1.2 rather than ~>1.2.0 hopefully no crazy backwards incompaitibilities before 2.0. And we can update SS to fix these problems if they come about.

ben

Ben,

Thanks for your input. Below, I’ve pasted a series of commands so you can see what I’m dealing with. The error message is first, then I asked which version of bundler I have, and it tells me 1.3.2, I tell it to uninstall bundler and it only tells me that I have 1.2.0, finally I try to uninstall bundler 1.3.2 and it tells me that it is not installed.

I feel like I’m caught in a loop. I’m tempted to delete Ruby et al and start over… Is that wise? If so, how do I do it?

Thanks!

Matt

matt@blast1:~$ sequenceserver
/home/matt/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1638:in raise_if_conflicts': Unable to activate sequenceserver-0.8.3, because bundler-1.3.2 conflicts with bundler (~> 1.2.0) (Gem::LoadError) from /home/matt/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:747:in activate’
from /home/matt/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems.rb:1232:in gem' from /home/matt/.rvm/gems/ruby-1.9.3-p392/bin/sequenceserver:18:in
from /home/matt/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in eval' from /home/matt/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in
matt@blast1:~$ gem which bundler
/home/matt/.rvm/gems/ruby-1.9.3-p392@global/gems/bundler-1.3.2/lib/bundler.rb
matt@blast1:~$ gem uninstall bundler

You have requested to uninstall the gem:
bundler-1.2.0
sequenceserver-0.8.3 depends on [bundler (~> 1.2.0)]
If you remove this gems, one or more dependencies will not be met.
Continue with Uninstall? [Yn] n
ERROR: While executing gem … (Gem::DependencyRemovalException)
Uninstallation aborted due to dependent gem(s)
matt@blast1:~$ gem uninstall bundler-1.3.2
INFO: gem “bundler-1.3.2” is not installed

Hi Matt,

I ran into this problem in an unrelated situation a few weeks ago - I think it is rvm acting strangely. I think the easiest fix is to

rm -rf ~/.rvm

and then reinstall rvm from scratch. You may want to do a

$ gem list

first so then you have a list of gems that you can then reinstall (note: you can install multiple gems at once i.e.
$ gem install gem1 gem2 …

Or if all you need is sequence server then you should just be able to

$ gem install sequenceserver
and you should be good.

Good luck.ben

Ben,

@yeban: do you know if there is any particular reason the gemspec is ~>1.2.0
rather than >=1.2.0 ? In my experience ~> dependencies are more trouble than
they are worth, for these kinds of errors. What about ~>1.2 rather than
~>1.2.0 hopefully no crazy backwards incompaitibilities before 2.0. And we
can update SS to fix these problems if they come about.

I think it makes sense to use ~> 1.2. That (ideally) would not lock
users down to a minor version, especially when releases in Ruby world
are so frequent. The only issue is that we (especially me) will have
to be super careful to only use features prior to 1.2. This is a
problem because not all supporting docs are great and I refer to the
latest source code (from git master) of Bundler, Sinatra, Rack,
(lately Thin, coz I have been meaning to change the default server)
when in doubt.

Honestly though, I want to remove the runtime dependency on Bundler.
A lot of external tools use the Gemfile in problematic ways, rvm and
Passenger for instance. And we are using it as a runtime dependency
to cut short just a few lines. Not worth it. Bundler is great during
development, but like rvm and passenger let's not force it on our
users.

-- yeban

Matt,

I ran into this problem in an unrelated situation a few weeks ago - I think
it is rvm acting strangely. I think the easiest fix is to

[...]

Did Ben's suggestion help? Was it rvm causing the issue? If you are
using Ruby only for SequenceServer and / or minor scripting tasks,
might I request you to ditch RVM and go with the Ruby version that
ships with your Linux distribution? We support down to 1.8.7, so it
shouldn't be a problem.

Thanks.

-- Priyam

First of all, thanks to Ben and Priyam for the help, I FINALLY got it working. The problem is that it seems rvm comes with a bundler version that is buried, and it doesn’t actually uninstall with the normal ‘gem uninstall bunder-x.x.x’ command. Here is a step-by-step in case anyone else has the same issue.

  1. Uninstall rvm using the command:
    rm -rf ~/.rvm

  2. reinstall rvm using the command:

\curl -#L https://get.rvm.io | bash -s stable --ruby

3) Following installation, it will tell you a command to run in order to make rvm work, it starts with "source". Copy that command and run it.

4) Next, run the command:
gem uninstall bundler

It will tell you that it cannot do that, but will give you the proper command to uninstall the buried bundler, complete with the proper path for your computer. Copy that command and run it.

5) Now you can install Sequence Server:
gem install sequenceserver

And, now it works!!

Thanks again!

–Matt

FYI, you can uninstall specific versions of gems with this command:

gem uninstall bundler --version 1.3.2

I wouldn’t recommend this though. If you’re using RVM, it’s usually a good idea to separate out your gems with gemsets to avoid conflicts (but even this is horrible).

@Anurag: why is there is a dependency on a specific version of Bundler anyhow? what is it being used for?

You need to include lib/ in the load path in test suites,
bin/sequenceserver and config.ru. Since require 'bundler/setup' does
that automatically I thought it might be worth depending on Bundler at
such points.

-- Priyam

Also Bundler is used to determine sequenceserver version, in https://github.com/yannickwurm/sequenceserver/blob/master/lib/sequenceserver/version.rb