This repository has been archived by the owner. It is now read-only.

heroku .deb should include additional dependencies #174

Closed
ddollar opened this Issue Nov 1, 2011 · 15 comments

Comments

Projects
None yet
4 participants
@ddollar
Contributor

ddollar commented Nov 1, 2011

ruby
libopenssl-ruby
libreadline-ruby

@geemus

This comment has been minimized.

Show comment
Hide comment
@geemus

geemus Jan 24, 2012

Member

fixed by #218

Member

geemus commented Jan 24, 2012

fixed by #218

@geemus geemus closed this Jan 24, 2012

@carchrae

This comment has been minimized.

Show comment
Hide comment
@carchrae

carchrae Feb 14, 2012

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.

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 Feb 14, 2012

@technomancy

This comment has been minimized.

Show comment
Hide comment
@technomancy

technomancy Feb 14, 2012

Contributor

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?

Contributor

technomancy commented Feb 14, 2012

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

This comment has been minimized.

Show comment
Hide comment
@geemus

geemus Feb 14, 2012

Member

@technomancy sounds about right to me.

Member

geemus commented Feb 14, 2012

@technomancy sounds about right to me.

@carchrae

This comment has been minimized.

Show comment
Hide comment
@carchrae

carchrae Feb 14, 2012

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.

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

This comment has been minimized.

Show comment
Hide comment
@carchrae

carchrae Feb 14, 2012

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<top (required)>'
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<top (required)>'
from /usr/local/heroku/lib/heroku/client.rb:2:in require' from /usr/local/heroku/lib/heroku/client.rb:2:in<top (required)>'
from /usr/local/heroku/lib/heroku.rb:3:in require' from /usr/local/heroku/lib/heroku.rb:3:in<top (required)>'
from /usr/local/heroku/lib/heroku/cli.rb:1:in require' from /usr/local/heroku/lib/heroku/cli.rb:1:in<top (required)>'
from /usr/bin/heroku:31:in require' from /usr/bin/heroku:31:in

'

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<top (required)>'
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<top (required)>'
from /usr/local/heroku/lib/heroku/client.rb:2:in require' from /usr/local/heroku/lib/heroku/client.rb:2:in<top (required)>'
from /usr/local/heroku/lib/heroku.rb:3:in require' from /usr/local/heroku/lib/heroku.rb:3:in<top (required)>'
from /usr/local/heroku/lib/heroku/cli.rb:1:in require' from /usr/local/heroku/lib/heroku/cli.rb:1:in<top (required)>'
from /usr/bin/heroku:31:in require' from /usr/bin/heroku:31:in

'

@technomancy

This comment has been minimized.

Show comment
Hide comment
@technomancy

technomancy Feb 14, 2012

Contributor

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?

Contributor

technomancy commented Feb 14, 2012

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

This comment has been minimized.

Show comment
Hide comment
@carchrae

carchrae Feb 14, 2012

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?

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

This comment has been minimized.

Show comment
Hide comment
@technomancy

technomancy Feb 15, 2012

Contributor

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.

Contributor

technomancy commented Feb 15, 2012

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

This comment has been minimized.

Show comment
Hide comment
@technomancy

technomancy Feb 15, 2012

Contributor

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?

Contributor

technomancy commented Feb 15, 2012

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

This comment has been minimized.

Show comment
Hide comment
@carchrae

carchrae Feb 15, 2012

Hmm. Thanks for checking it out. I'll look at my setup again and see if
there are any other clues why it fails. The steps I took were as described
on the started page for Linux on the heroku site.
On Feb 14, 2012 6:04 PM, "Phil Hagelberg" <
reply@reply.github.com>
wrote:

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?


Reply to this email directly or view it on GitHub:
heroku#174 (comment)

Hmm. Thanks for checking it out. I'll look at my setup again and see if
there are any other clues why it fails. The steps I took were as described
on the started page for Linux on the heroku site.
On Feb 14, 2012 6:04 PM, "Phil Hagelberg" <
reply@reply.github.com>
wrote:

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?


Reply to this email directly or view it on GitHub:
heroku#174 (comment)

@carchrae

This comment has been minimized.

Show comment
Hide comment
@carchrae

carchrae Feb 16, 2012

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. :/

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

This comment has been minimized.

Show comment
Hide comment
@technomancy

technomancy Feb 17, 2012

Contributor

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

Contributor

technomancy commented Feb 17, 2012

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

@technomancy

This comment has been minimized.

Show comment
Hide comment
@technomancy

technomancy Feb 24, 2012

Contributor

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.

Contributor

technomancy commented Feb 24, 2012

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

This comment has been minimized.

Show comment
Hide comment
@carchrae

carchrae Feb 24, 2012

Great. Glad you got to the bottom of it.

Great. Glad you got to the bottom of it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.