Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

heroku .deb should include additional dependencies #174

Closed
ddollar opened this Issue · 15 comments

4 participants

@ddollar

ruby
libopenssl-ruby
libreadline-ruby

@geemus
Owner

fixed by #218

@geemus geemus closed this
@carchrae

This 'fix' got me. See this: http://stackoverflow.com/a/9280405/801751

What screwed me up is that I thought that heroku would use my default ruby version (seems pretty plausible, no?). since I set the default ruby version in rvm. I install missing dependencies, but nothing takes. Eventually I found the hard coded version number: 9c6fb48#L1R1

So, all the time I applied the missing dependencies they were being applied to the wrong version of ruby.

Just me, but this seems like a bad fix. I'm not a ruby person, so what do I know. Any non-rails ubuntu developers looking to work with heroku should not have to spend so much effort to get the toolbelt installed.

@technomancy technomancy reopened this
@technomancy

The fact that /usr/bin/heroku is written in ruby is an implementation detail, so the way that rvm is affecting anything at all is a bug. Changing the shebang to /usr/bin/ruby1.9.1 rather than using /usr/bin/env should sidestep rvm and force it to use the apt-get version of ruby that has all the correct dependencies declared, right?

@geemus
Owner

@technomancy sounds about right to me.

@carchrae

I can give it a shot and let you know what happens.

The issue I had was something along the lines of

1) run heroku
2) see error message
3) run apt-get for missing dependency
4) go to 1

Since the default installed version of ruby is not 1.9.1 (but 1.9.2 or 1.9.3) I suspect the apt-get command was not installing the missing dependency for 1.9.1.

@carchrae

yeah, as suspected.

tom@mars:~/git/ftweb2$ heroku
/usr/local/heroku/vendor/gems/rest-client-1.6.1/lib/restclient.rb:9:in rescue in <top (required)>': no such file to load -- net/https. Try running apt-get install libopenssl-ruby (LoadError)
from /usr/local/heroku/vendor/gems/rest-client-1.6.1/lib/restclient.rb:5:in
'
from /usr/local/heroku/vendor/gems/rest-client-1.6.1/lib/rest_client.rb:2:in require'
from /usr/local/heroku/vendor/gems/rest-client-1.6.1/lib/rest_client.rb:2:in
'
from /usr/local/heroku/lib/heroku/client.rb:2:in require'
from /usr/local/heroku/lib/heroku/client.rb:2:in
'
from /usr/local/heroku/lib/heroku.rb:3:in require'
from /usr/local/heroku/lib/heroku.rb:3:in
'
from /usr/local/heroku/lib/heroku/cli.rb:1:in require'
from /usr/local/heroku/lib/heroku/cli.rb:1:in
'
from /usr/bin/heroku:31:in require'
from /usr/bin/heroku:31:in

'

@technomancy

Just to clarify, you're getting that same stack trace without /usr/bin/env in /usr/bin/heroku? I haven't used rvm before, but it sounds like I'll need to try it out on a VM over here. Are there any particular steps I would need to take to repro on a fresh install of rvm or is it pretty straightforward?

@carchrae

Correct. It was with #!/usr/bin/ruby1.9.1

I believe the error appears even if you don't install rvm. And it was a standard install of Ubuntu 10.04LTS.

As an aside, is there any reason you are against the idea of having a version check in the file instead of forcing a specific binary?

@technomancy

I wasn't able to repro this on a fresh Ubuntu without rvm, but I will try again.

I'm afraid I'm not clear on what you mean by "having a version check in the file". My current goal is to force use of the system level ruby 1.9 installation since we know we can rely on it having the basics in place, but I'm open to alternatives.

@technomancy

OK, I just attempted to repro this on a fresh Ubuntu install. I've installed rvm and used it to install ruby 1.9.2 as well as 1.8.7, and I can't get the heroku client to fail. Can you provide more detail about the steps you took to get these results?

@carchrae
@carchrae

Without doing a complete re-install myself, I can't do much more investigation here. I did try the commands as a different user (in case it was my path), but it behaved the same (ie broken as described above) when 1.9.1 is specified in the shebang.

Just to confirm, you tried it on Ubuntu 10.04 LTS. Not a more recent version?

If you could not reproduce on 10.04, then it must be some combination of other software installed here. :/

@technomancy

Oh, no I was doing this on the most recent release. I'll try again with the LTS.

@technomancy technomancy closed this issue from a commit
@technomancy technomancy Explicit dependency upon libopenssl-ruby1.9.1.
Older versions of Ubuntu did not bring this in with Ruby for some
reason. Also, lower the required version of libssl; apparently 0.9.8k
is new enough for our needs.

Fixes #174.
b151599
@technomancy

Looks like this is an issue where the ruby packages on lucid simply weren't declaring all the dependencies they needed. The next release will fix this issue.

@carchrae
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.