T
TDR
Ruby 1.8.6 on solaris 9.
I am a newbie.
I need to set LD_LIBRARY_PATH within my script as follows:
ENV['LD_LIBRARY_PATH'] = '/usr/local/mysql/lib/mysql:/usr/local/
easysoft/unixODBC/lib:/usr
/local/easysoft/lib'
but it doesn't seem to be "taking". I get the error I would expect to
get when LD_LIBRARY_PATH is not set:
s00c166.ssa.gov# ruby -r debug process_ond.rb
Debug.rb
Emacs support available.
process_ond.rb:29:def lookup_cid(off_id)
(rdb:1) b 95
Set breakpoint 1 at process_ond.rb:95
(rdb:1) c
Breakpoint 1, toplevel at process_ond.rb:95
process_ond.rb:95:ENV['LD_LIBRARY_PATH'] = '/usr/local/mysql/lib/
mysql:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib'
(rdb:1) n
process_ond.rb:99:$dbh_ditm = DBI.connect("DBI:Mysql:ditm:localhost",
"ditmusr", "xxxxxx")
(rdb:1) n
/usr/local/lib/ruby/site_ruby/1.8/dbi.rb:344: `Could not load driver
(ld.so.1: ruby: fatal: libmysqlclient.so.15: open failed: No such file
or directory - /usr/local/lib/ruby/site_ruby/1.8/sparc-solaris2.9/
mysql.so)' (DBI::InterfaceError)
from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:344:in
`load_driver'
from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:227:in
`_get_full_driver'
from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:213:in `connect'
from process_ond.rb:99
/usr/local/lib/ruby/site_ruby/1.8/dbi.rb:344: raise
InterfaceError, "Could not load driver (#{$!.message})"
(rdb:1)
But when I set LD_LIBRARY_PATH in my shell, prior to running the
script, I don't get this error:
s00c166.ssa.gov# setenv LD_LIBRARY_PATH '/usr/local/mysql/lib/mysql:/
usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib'
s00c166.ssa.gov# ruby -r debug
process_ond.rb Debug.rb
Emacs support available.
process_ond.rb:29:def lookup_cid(off_id)
(rdb:1) b 99
Set breakpoint 1 at process_ond.rb:99
(rdb:1) c
Breakpoint 1, toplevel at process_ond.rb:99
process_ond.rb:99:$dbh_ditm = DBI.connect("DBI:Mysql:ditm:localhost",
"ditmusr", "xxxxxx")
(rdb:1) n
What am I doing wrong here?
TDR
I am a newbie.
I need to set LD_LIBRARY_PATH within my script as follows:
ENV['LD_LIBRARY_PATH'] = '/usr/local/mysql/lib/mysql:/usr/local/
easysoft/unixODBC/lib:/usr
/local/easysoft/lib'
but it doesn't seem to be "taking". I get the error I would expect to
get when LD_LIBRARY_PATH is not set:
s00c166.ssa.gov# ruby -r debug process_ond.rb
Debug.rb
Emacs support available.
process_ond.rb:29:def lookup_cid(off_id)
(rdb:1) b 95
Set breakpoint 1 at process_ond.rb:95
(rdb:1) c
Breakpoint 1, toplevel at process_ond.rb:95
process_ond.rb:95:ENV['LD_LIBRARY_PATH'] = '/usr/local/mysql/lib/
mysql:/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib'
(rdb:1) n
process_ond.rb:99:$dbh_ditm = DBI.connect("DBI:Mysql:ditm:localhost",
"ditmusr", "xxxxxx")
(rdb:1) n
/usr/local/lib/ruby/site_ruby/1.8/dbi.rb:344: `Could not load driver
(ld.so.1: ruby: fatal: libmysqlclient.so.15: open failed: No such file
or directory - /usr/local/lib/ruby/site_ruby/1.8/sparc-solaris2.9/
mysql.so)' (DBI::InterfaceError)
from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:344:in
`load_driver'
from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:227:in
`_get_full_driver'
from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:213:in `connect'
from process_ond.rb:99
/usr/local/lib/ruby/site_ruby/1.8/dbi.rb:344: raise
InterfaceError, "Could not load driver (#{$!.message})"
(rdb:1)
But when I set LD_LIBRARY_PATH in my shell, prior to running the
script, I don't get this error:
s00c166.ssa.gov# setenv LD_LIBRARY_PATH '/usr/local/mysql/lib/mysql:/
usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/lib'
s00c166.ssa.gov# ruby -r debug
process_ond.rb Debug.rb
Emacs support available.
process_ond.rb:29:def lookup_cid(off_id)
(rdb:1) b 99
Set breakpoint 1 at process_ond.rb:99
(rdb:1) c
Breakpoint 1, toplevel at process_ond.rb:99
process_ond.rb:99:$dbh_ditm = DBI.connect("DBI:Mysql:ditm:localhost",
"ditmusr", "xxxxxx")
(rdb:1) n
What am I doing wrong here?
TDR