mathlearner
mathlearner

Reputation: 7659

Installing linecache19 (0.5.12) with native extensions

i have to run an existing project when i run bundle install command.it hang on it for nearly about half an hour and still didn't complete the bundle install command.i am using ruby1.9.3p327 and my rails version is 3.2.9 and gem file of the project

source 'https://rubygems.org'

gem 'rails', '3.2.8'
gem 'pg', '0.14.1'

gem 'compass', git: 'git://github.com/chriseppstein/compass.git'
gem 'sass-rails',   '~> 3.2.3'
gem 'jquery-rails', '~> 2.0.0'

gem 'devise', '~> 2.0.0'
gem 'bootstrap-sass', '2.1.1.0'
gem 'simple_form', '2.0.4'

#gem 'refinerycms', '2.0.8'
gem 'refinerycms-dashboard'
gem 'refinerycms-images'
gem 'refinerycms-pages'
gem 'refinerycms-resources'

gem 'refinerycms-bootstrap', git: 'git://github.com/ghoppe/refinerycms-bootstrap.git'
gem 'rest-client', '1.6.7', require: 'rest_client'
gem 'hashie', '1.2.0'

gem 'faye'
gem 'restforce'

# gems from old site's gemfile
gem 'databasedotcom' # we may get rid of this
gem 'databasedotcom-rails' # we may get rid of this
gem 'haml'
gem 'will_paginate'
gem 'httparty'

gem 'ruby-openid', :git => "git://github.com/mbleigh/ruby-openid.git"
gem 'openid_active_record_store'
gem 'omniauth-twitter'
gem 'omniauth-github'
gem 'omniauth-facebook'
gem 'omniauth-linkedin'
gem 'omniauth-openid'
gem 'omniauth-salesforce'
gem 'savon'

gem 'redis'
gem 'aws-s3', :require => 'aws/s3' # no longer needed?
gem 'thin'
gem 'resque', :git => 'http://github.com/hone/resque.git', :branch => 'keepalive', :require => 'resque/server'
gem "recaptcha", :require => "recaptcha/rails"
gem 'flash_messages_helper'
gem 'remote_syslog_logger'
gem 'dalli'
gem 'encryptor'
gem 'airbrake'

gem 'chosen-rails'
gem 'fog'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'coffee-rails', '~> 3.2.1'
  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby
  gem 'uglifier', '>= 1.0.3'
end

group :development, :test do
  gem 'annotate', '2.4.0'
  gem 'guard'
  gem 'guard-bundler'
  gem 'guard-rspec'
  gem 'spork'
  gem "guard-spork"
  gem 'growl'
  gem 'ruby-debug19'
  gem 'sqlite3'
  gem 'rspec-rails'
  gem 'sextant'
  gem 'quiet_assets'  
  gem 'vcr'
  gem 'rb-fsevent', '~> 0.9.1'
  gem 'sql-logging'
end

group :test do
  # Pretty printed test output
  gem 'turn', :require => false
  gem "minitest"
  gem "rake"
  gem 'webmock'
  gem "mocha"
end

and line for which it stays for long time is

Installing linecache19 (0.5.12) with native extensions

can any one please help how to install this project??

Upvotes: 1

Views: 2147

Answers (2)

sheltond
sheltond

Reputation: 1937

I have found that the reason that it hangs for a long time is that for some reason it doesn't manage to find the Ruby source (it needs certain header files when building the native extensions), and so it downloads it again. Since the package is fairly large and the server is quite slow and heavily loaded, it takes a long time (30 minutes+) and the whole thing appears to have hung because there is no feedback.

If you break in with ^C while it's doing this, you may get an error message like this:

/home/xxxx/.rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb
checking for vm_core.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/home/xxxx/.rvm/rubies/ruby-1.9.3-p392/bin/ruby
        --with-ruby-dir
        --without-ruby-dir
        --with-ruby-include
        --without-ruby-include=${ruby-dir}/include
        --with-ruby-lib
        --without-ruby-lib=${ruby-dir}/lib
Requesting http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz

The two lines at the bottom are the clue to what's going on.

I gather that you should be able to use the "--with-ruby-include" option on "gem install" or "bundle config" to force it to use the source that you already have, but in my (limited) testing these didn't seem to work, and I didn't dig too far once I realised what was going on.

Here are some links that mention this - hopefully you'll have more luck than I did:

Installing linecache19 for Ruby 1.9.2 via rvm
https://github.com/mark-moseley/ruby-debug/wiki/Installation%3A-command-line-version

Upvotes: 2

midu
midu

Reputation: 1707

With the latest rubies 1.9+, a few gems like ruby-debug and linecache become very painful to install. However, the alternative debugger and debugger-linecache usually solve the issue.

Upvotes: 2

Related Questions