TinyTds::Client.new() gives an error "undefined symbol: dbsetluser"

38 views
Skip to first unread message

Tsolmon Otgonbold

unread,
Apr 10, 2012, 6:25:15 AM4/10/12
to rubyonra...@googlegroups.com
Hello Dear experts,

I am new to Ruby on Rails. Though I want to access to MSSQL 2005 from
ruby.
I installed tiny_tds using following commands:
>sudo apt-get install freetds-dev
>gem install tiny_tds

And now when I executed

@client = TinyTds::Client.new(
:username => 'username',
:password => 'password',
:host => '192.168.1.45',
:database => 'test_db',
:login_timeout => 5,
:timeout => 5
)
, it gives an error
"ruby: symbol lookup error:
/usr/local/lib/ruby/gems/1.8/gems/tiny_tds-0.5.1/lib/tiny_tds/tiny_tds.so:
undefined symbol: dbsetluser".

Could you please help me out to find a solution to this problem.

PS: I searched from Google, but could not find anything.

--
Posted via http://www.ruby-forum.com/.

Luis Lavena

unread,
Apr 10, 2012, 7:19:50 PM4/10/12
to rubyonra...@googlegroups.com
El martes, 10 de abril de 2012 07:25:15 UTC-3, Ruby-Forum.com User escribió:
Hello Dear experts,

I am new to Ruby on Rails. Though I want to access to MSSQL 2005 from
ruby.
I installed tiny_tds using following commands:
>sudo apt-get install freetds-dev
>gem install tiny_tds

What version of FreeTDS got installed?

"ruby: symbol lookup error:
/usr/local/lib/ruby/gems/1.8/gems/tiny_tds-0.5.1/lib/tiny_tds/tiny_tds.so:
undefined symbol: dbsetluser".

Looks like the gem is expecting a function (symbol) exported from FreeTDS that is not there, which brings again the question about what version of FreeTDS did you install.

Also, more details about your version of Ruby (ruby -v, gem env) will be good.

Considering you mention apt, I expect we're talking about Ubuntu/Debian and a debian-provided Ruby? if not, please provide more details.

--
Luis Lavena

Tsolmon Otgonbold

unread,
Apr 10, 2012, 11:02:56 PM4/10/12
to rubyonra...@googlegroups.com
Thanks for your concern :)
Well, I am using Ubuntu 8.04.3 LTS server version.

>> What version of FreeTDS got installed?
In the /etc/freetds/freetds.conf file, it is written as
# $Id: freetds.conf,v 1.9 2003/12/04 22:26:55 freddy77 Exp $
I don't know how to check the version of freetds properly, my bad.

I just executed "sudo apt-get install freetds-dev" to install freetds, I
am not sure it really installed freetds.

Ruby version: ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

Any advise, please.

Tsolmon Otgonbold

unread,
Apr 10, 2012, 11:04:19 PM4/10/12
to rubyonra...@googlegroups.com
forgot the gem env:

RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]
- INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/local/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /usr/local/lib/ruby/gems/1.8
- /home/projectadmin/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/

Tsolmon Otgonbold

unread,
Apr 11, 2012, 12:41:16 AM4/11/12
to rubyonra...@googlegroups.com
I downloaded FreeTDS 0.91 source code, and executed ./configre, make,
make install, make clean.

After this, the above problem disappeared, i.e., freeTDS had not
actually been installed.

Thanks for your valuable words :D

Reply all
Reply to author
Forward
0 new messages