I am using Active Record outside rails. I created one rb file at: /usr/share/puppet-dashboard/bin/process.rb Code of process.rb #!/usr/bin/ruby require 'active_record' ActiveRecord::Base.establish_connection( :adapter => "mysql2", :host => "localhost", :username => "root", :password => "root123", :database => "testproject_development" ) But when i run this rb file then i get the following error:- /usr/local/rvm/gems/ruby-1.9.3-p362@artwork_auto/gems/json-1.7.7/lib/json/ext/parser.so: [BUG] Segmentation fault ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] Any help will be highly appreciated.
on 2013-02-21 07:05
on 2013-02-21 10:23
> :username => "root", > > You've got some sort of ruby version mixup here - you've got ruby 1.8.7 that is trying to load a native extension compiled for ruby 1.9. I'd guess that is because your shebang is saying use /usr/bin/ruby, which is presumably the system provided ruby, but dvm has setup the environment variables that ruby uses to have it look for gems in the rvm copy of ruby. I assume that you can't change the way it is invoked (to ruby process.rb rather than ./process.rb) but if you change the shebang to #!/usr/bin/env ruby that should pick up the rvm provided ruby, assuming that this script is running in a context where rvm has been loaded. Fred
on 2013-02-21 11:49
Many Thanks Fred, It worked :)