Monday, May 20, 2024
6
rated 0 times [  11] [ 5]  / answers: 1 / hits: 88670  / 13 Years ago, wed, november 9, 2011, 12:00:00

My website has been broken since Dreamhost upgraded their servers a couple of weeks ago. I have been tearing my hair out trying to get it fixed and made some progress but am stuck on what is hopefully the final issue.



I'm using Rails 3.1.1 on Ruby 1.8.7 and get presented with a 'Ruby (Rack) application could not be started error' from PhusionPassenger. It states that it 'Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)'. Searching for this on Dreamhost's wiki has suggested a solution to install 'therubyracer' gem.



So I updated my gemfile with the suggested gem like so:




gem 'therubyracer', '~> 0.9.9'




EDIT: I have also tried adding to the file with:




gem 'therubyracer', :platforms => :ruby




but it hasn't made a difference.



Then bundle installed on my Macbook (running OS X 10.5.8) without hitch. However, this fails when I run 'cap deploy' to put on Dreamhost; I see an error when it attempts to install libv8 which therubyracer depends on.



Anyone know how to get this to install correctly or any other working solution?



Any other info can be provided upon request.



Full error feedback from Terminal:





  • executing cd /home/futureproof/abunchofletters.co.uk/releases/20111118003703 &&
    bundle install --gemfile
    /home/futureproof/abunchofletters.co.uk/releases/20111118003703/Gemfile
    --path /home/futureproof/.gems/bundle --deployment --quiet --without development test
    servers: [abunchofletters.co.uk]
    [abunchofletters.co.uk] executing command ** [out :: abunchofletters.co.uk] Unfortunately, a fatal error has occurred.
    Please report this error to the Bundler issue tracker at
    https://github.com/carlhuda/bundler/issues so that we can fix it.
    Thanks! ** [out :: abunchofletters.co.uk]
    /usr/lib/ruby/1.8/rubygems/installer.rb:483:in build_extensions':
    ERROR: Failed to build gem native extension.
    (Gem::Installer::ExtensionBuildError) ** [out ::
    abunchofletters.co.uk] ** [out :: abunchofletters.co.uk]
    /usr/bin/ruby1.8 extconf.rb ** [out :: abunchofletters.co.uk] ***
    extconf.rb failed *** ** [out :: abunchofletters.co.uk] Could not
    create Makefile due to some reason, probably lack of ** [out ::
    abunchofletters.co.uk] necessary libraries and/or headers. Check the
    mkmf.log file for more ** [out :: abunchofletters.co.uk] details.
    You may need configuration options. ** [out :: abunchofletters.co.uk]
    ** [out :: abunchofletters.co.uk] Provided configuration options: ** [out :: abunchofletters.co.uk] --with-opt-dir ** [out ::
    abunchofletters.co.uk] --without-opt-dir ** [out ::
    abunchofletters.co.uk] --with-opt-include ** [out ::
    abunchofletters.co.uk] --without-opt-include=${opt-dir}/include **
    [out :: abunchofletters.co.uk] --with-opt-lib ** [out ::
    abunchofletters.co.uk] --without-opt-lib=${opt-dir}/lib ** [out ::
    abunchofletters.co.uk] --with-make-prog ** [out ::
    abunchofletters.co.uk] --without-make-prog ** [out ::
    abunchofletters.co.uk] --srcdir=. ** [out :: abunchofletters.co.uk]
    --curdir ** [out :: abunchofletters.co.uk] --ruby=/usr/bin/ruby1.8 ** [out :: abunchofletters.co.uk] extconf.rb:13: uninitialized constant Gem (NameError) ** [out :: abunchofletters.co.uk] Checking
    for Python... ** [out :: abunchofletters.co.uk] ** [out ::
    abunchofletters.co.uk] Gem files will remain installed in
    /home/futureproof/.gems/bundle/ruby/1.8/gems/libv8-3.3.10.4 for
    inspection. ** [out :: abunchofletters.co.uk] Results logged to
    /home/futureproof/.gems/bundle/ruby/1.8/gems/libv8-3.3.10.4/ext/libv8/gem_make.out
    ** [out :: abunchofletters.co.uk] from /usr/lib/ruby/1.8/rubygems/installer.rb:446:in
    each' ** [out ::
    abunchofletters.co.uk] from
    /usr/lib/ruby/1.8/rubygems/installer.rb:446:in build_extensions' **
    [out :: abunchofletters.co.uk] from
    /usr/lib/ruby/1.8/rubygems/installer.rb:198:in
    install' ** [out ::
    abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/source.rb:90:in
    install' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:78:in
    preserve_paths' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/source.rb:89:in
    install' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:73:in
    install_gem_from_spec' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:93:in
    with_build_args' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:72:in
    install_gem_from_spec' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:56:in
    run' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:55:in
    run' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:12:in
    install' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/cli.rb:219:in
    install' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/task.rb:22:in
    send' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/task.rb:22:in
    run' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/invocation.rb:118:in
    invoke_task' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor.rb:263:in
    dispatch' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/base.rb:386:in
    start' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/gems/bundler-1.1.rc/bin/bundle:13 ** [out ::
    abunchofletters.co.uk] from /home/futureproof/.gems/bin/bundle:19:in
    load' ** [out :: abunchofletters.co.uk] from
    /home/futureproof/.gems/bin/bundle:19
    command finished in 13170ms
    *** [deploy:update_code] rolling back * executing rm -rf /home/futureproof/abunchofletters.co.uk/releases/20111118003703; true
    servers: [abunchofletters.co.uk]
    [abunchofletters.co.uk] executing command
    command finished in 563ms failed: sh -c 'cd /home/futureproof/abunchofletters.co.uk/releases/20111118003703 &&
    bundle install --gemfile
    /home/futureproof/abunchofletters.co.uk/releases/20111118003703/Gemfile
    --path /home/futureproof/.gems/bundle --deployment --quiet --without development test' on abunchofletters.co.uk



More From » ruby-on-rails

 Answers
15

libv8 is an OS library; you'll need to install the correct Linux system library. If you're running Ubuntu, it's



sudo apt-get install libv8-dev


Alternatively, you can install node.js which is available as a Debian/Ubuntu package for various distros, e.g. http://ppa.launchpad.net/chris-lea/node.js/ubuntu



You may save yourself a lot of trouble by deploying on Heroku instead where you don't have to manage the OS or components for gems.


[#89231] Monday, November 7, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
taliac

Total Points: 84
Total Questions: 114
Total Answers: 114

Location: Morocco
Member since Fri, May 22, 2020
4 Years ago
;