<< | Index | >>
--enable-shared
There is a already ruby186 in /usr/local/bin/ruby186/bin/ruby with oniguruma patch.
I re-compiled with --enable-shared option.
This option is needed for mod_ruby.
$ cd /usr/local/src/ruby-1.8.6-p369 $ make clean $ ./configure --prefix=/usr/local/bin/ruby186/ --enable-shared $ make $ sudo make install
There is a error that related in auto_gem.
fastpower sandoz.bbmb.ch $ /usr/local/bin/ruby186/bin/gem /usr/local/bin/ruby186/bin/ruby: no such file to load -- auto_gem (LoadError)
We could avoid this error with RUBYOPT="".
$ RUBYOPT="" /usr/local/bin/ruby186/bin/gem -v 1.4.1
I loaded this Enviromnet variable into /etc/env.d like this.
$ sudo cat /etc/env.d/99ruby RUBYOPT="" $ sudo etc-update && source /etc/profile
Gemfile
source "https://rubygems.org" gem 'ruby-json' gem 'sbsm' gem 'htmlgrid' gem 'yus' gem 'rclconf' gem 'character-encodings', '0.3.0' gem 'rmail' gem 'hpricot' gem 'ydim' gem 'odba' gem "smtp_tls" gem "pg", "0.8.0" #=> does not use dependency of dbd-pg. (Please specify before dbd-pg) gem "dbd-pg", "0.3.9" gem "dbi", "0.4.5" gem "deprecated", "2.0.1"
I could not use bundler.
I installed by hand.
Fetching: bundler-1.3.5.gem (100%)
ERROR: Error installing bundler:
bundler requires Ruby version >= 1.8.7.
There is a Regexp with ruby-1.8.6 + oniguruma in bbmb/lib/bbmb/util/polling_manager.rb:48.
bbmb needs ruby-1.8.6 + oniguruma.
@@ptrn = /name=(?:(?:(?<quote>['"])(?:=\?.+?\?[QB]\?)?(?<file>.*?)(\?=)?(?<!\\)\k<quote>)|(?:(?<file>.+?)(?:;|$)))/i
\# in my local, I ignored this regexp ...
But,
with ruby-1.8.6 we could not already install pg any more.
fastpower sandoz.bbmb.ch #$ /usr/local/bin/ruby186/bin/gem install dbd-pg -v 0.3.9
Fetching: pg-0.15.1.gem (100%)
ERROR: Error installing dbd-pg:
pg requires Ruby version >= 1.8.7.
Then I installed very old pg 0.8.0 (maybe 3-5 yeas ago) before install dbd-pg.
fastpower sandaz.bbmb.ch $ /usr/local/bin/ruby186/bin/gem install pg -v 0.8.0 Fetching: pg-0.8.0.gem (100%) Building native extensions. This could take a while... Successfully installed pg-0.8.0 1 gem installed Installing ri documentation for pg-0.8.0... Installing RDoc documentation for pg-0.8.0...
fastpower sandoz.bbmb.ch $ /usr/local/bin/ruby186/bin/ruby -rrubygems ./bin/bbmbd --config="etc/config.yml"
/usr/local/bin/ruby186/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require': no such file to load -- bbmb/config (LoadError)
from /usr/local/bin/ruby186/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require'
from ./bin/bbmbd:9
Then I specified -I/path/to/bbmb/lib
fastpower sandoz.bbmb.ch $ /usr/local/bin/ruby186/bin/ruby -rrubygems -I/usr/local/share/src/bbmb/lib ./bin/bbmbd --config="etc/config.yml"
/usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/htmlgrid-1.0.6/lib/htmlgrid/grid.rb:28: warning: already initialized constant VERSION
could not find htmlgrid.so, falling back to pure-ruby class
/usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/dbi-0.4.5/lib/dbi.rb:300:in `load_driver': Unable to load driver 'pg' (underlying error: wrong constant name pg) (DBI::InterfaceError)
from /usr/local/bin/ruby186/lib/ruby/1.8/monitor.rb:242:in `synchronize'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/dbi-0.4.5/lib/dbi.rb:242:in `load_driver'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/dbi-0.4.5/lib/dbi.rb:160:in `_get_full_driver'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/dbi-0.4.5/lib/dbi.rb:145:in `connect'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/odba-1.1.0/lib/odba/connection_pool.rb:63:in `_connect'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/odba-1.1.0/lib/odba/connection_pool.rb:62:in `times'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/odba-1.1.0/lib/odba/connection_pool.rb:62:in `_connect'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/odba-1.1.0/lib/odba/connection_pool.rb:59:in `connect'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/odba-1.1.0/lib/odba/connection_pool.rb:59:in `synchronize'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/odba-1.1.0/lib/odba/connection_pool.rb:59:in `connect'
from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/odba-1.1.0/lib/odba/connection_pool.rb:22:in `initialize'
from /usr/local/share/src/bbmb/lib/bbmb/persistence/odba.rb:38:in `new'
from /usr/local/share/src/bbmb/lib/bbmb/persistence/odba.rb:38
from /usr/local/bin/ruby186/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require'
from /usr/local/bin/ruby186/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require'
from ./bin/bbmbd:18
bbmb expects pg.
This is old wrong constant name (maybe comes from portage version pg).
Constant of Ruby is CONSTANT or Constant.
fastpower bbmb $ grep -r pg lib/
lib/bbmb/persistence/odba.rb: ODBA.storage.dbi = ODBA::ConnectionPool.new("DBI:pg:#{@config.db_name}",
Finaly, I could boot bbmbd.
fastpower sandoz.bbmb.ch # svc -u /service/sandoz.bbmb.ch svc: warning: unable to control /service/sandoz.bbmb.ch: file does not exist
This reason was duty log and supervise directries. (Because these comes from backup with scp.)
I removed these directries (These are created automaticaly), then deamontools also works.
#!/bin/sh DIR=/var/www/sandoz.bbmb.ch/ LIB=/usr/local/share/src/bbmb/lib exec 2>&1 exec sudo /usr/local/bin/ruby186/bin/ruby -rubygems -I$LIB $DIR/bin/bbmbd config=$DIR/etc/config.yml
Got permisson error to connect Database.
2013-06-13 09:31:39.597845500 /usr/local/bin/ruby186/lib/ruby/site_ruby/1.8/dbd/pg/database.rb:82:in `initialize': could not connect to server: Permission denied (DBI::OperationalError) 2013-06-13 09:31:39.597851500 Is the server running locally and accepting 2013-06-13 09:31:39.597852500 connections on Unix domain socket "/run/postgresql/.s.PGSQL.5432"? 2013-06-13 09:31:39.597862500 from /usr/local/bin/ruby186/lib/ruby/site_ruby/1.8/dbd/Pg.rb:157:in `new' 2013-06-13 09:31:39.597863500 from /usr/local/bin/ruby186/lib/ruby/site_ruby/1.8/dbd/Pg.rb:157:in `connect' 2013-06-13 09:31:39.597863500 from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/dbi-0.4.5/lib/dbi/handles/driver.rb:33:in `connect' 2013-06-13 09:31:39.597864500 from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/dbi-0.4.5/lib/dbi.rb:148:in `connect' 2013-06-13 09:31:39.597865500 from /usr/local/bin/ruby186/lib/ruby/gems/1.8/gems/odba-1.1.0/lib/odba/connection_pool.rb:63:in `_connect' ...
installed mod_ruby against ruby1.8.6
fastpower src # git clone https://github.com/shugo/mod_ruby.git
fastpower src # cd mod_ruby/
fastpower mod_ruby # /usr/bin/apr-1-config --includedir
/usr/include/apr-1
fastpower mod_ruby # /usr/local/bin/ruby186/bin/ruby ./configure.rb --with-apxs=/usr/sbin/apxs --with-apr-includes=/usr/include/apr-1
...
fastpower mod_ruby # make
fastpower mod_ruby # make install
/usr/bin/install -c -d /usr/lib64/apache2/modules
/usr/bin/install -c -m 555 mod_ruby.so /usr/lib64/apache2/modules
/usr/bin/install -c -d /usr/local/bin/ruby186/lib/ruby/1.8/apache
/usr/local/bin/ruby186/bin/ruby -e "%w!apache/ruby-run.rb apache/registry.rb apache/eruby-run.rb apache/erb-run.rb apache/rd2html.rb apache/ruby-debug.rb apache/eruby-debug.rb apache/ruby-profile.rb apache/rails-dispatcher.rb apache/query.rb auto-reload.rb!.each{|file| system(%Q!#{'/usr/bin/install -c -m 644'} /usr/local/src/mod_ruby/lib/#{file} /usr/local/bin/ruby186/lib/ruby/1.8/#{file}!)}"
Apache2 does not boot for following reasons.
.back, temporary)
cronolog → http.conf on fastpower use cronolog instead of logrotate.
/var/log/apache2/error_log
(2)No such file or directory: Couldn't start ErrorLog process Unable to open logs