Error loading Ruby 2.0.0 (i386-mingw32) and tiny_tds 0.6.1 on windows 7

359 views
Skip to first unread message

Steffen Roller

unread,
Sep 25, 2013, 1:39:00 PM9/25/13
to rubyin...@googlegroups.com
Although the *.so file is in there the gem cannot get loaded. Anybody else experienced that problem?

I read the discussion on Github about the support for Ruby 2 32/64bit but couldn't find useful information to solve my problem.


-st

Luis Lavena

unread,
Sep 25, 2013, 1:51:28 PM9/25/13
to rubyin...@googlegroups.com
Hello Steff,

On Wed, Sep 25, 2013 at 2:39 PM, Steffen Roller <steffen...@gmail.com> wrote:
Although the *.so file is in there the gem cannot get loaded. Anybody else experienced that problem?


tiny_tds 0.6.1 do not provide binaries for Ruby 2.0, only 1.9.3

The .so file cannot be loaded because is built for Ruby 1.9.3
 
I read the discussion on Github about the support for Ruby 2 32/64bit but couldn't find useful information to solve my problem.


It requires you compile freetds and then force also compilation of tiny_tds, too many steps.

I might recommend you stick to Ruby 1.9.3 if you're forced to use those gems until gem author uses things like rake-compiler-dev-box to create the required binaries.

Hope that helps.
-- 
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

Steffen Roller

unread,
Sep 25, 2013, 2:01:21 PM9/25/13
to rubyin...@googlegroups.com
Hi Luis,

thank you. I wasn't aware that 0.6.1 supports only 1.9.3. Interestingly

gem install tiny_tds

under 2.0.0p247 gives you the aformentioned gem.
I'll stick to 1.9.3 for now.

-st

Luis Lavena

unread,
Sep 25, 2013, 2:07:23 PM9/25/13
to rubyin...@googlegroups.com
On Wed, Sep 25, 2013 at 3:01 PM, Steffen Roller <steffen...@gmail.com> wrote:
Hi Luis,

thank you. I wasn't aware that 0.6.1 supports only 1.9.3. Interestingly

gem install tiny_tds


This is discussed (in length) here:


Starting with 0.6.x support for Ruby 1.8.7 was removed, so the binary gem no longer contained multiple binaries.

While Ruby 2.0 was released before that, rake-compiler cross-compilation wasn't fixed until a few months after, and thus, the tiny_tds that was built do not provide these binaries.
 
under 2.0.0p247 gives you the aformentioned gem.
I'll stick to 1.9.3 for now.


The gem you obtain is the one for the platform. There is a serious problem of binary gems and what got named "fat binaries" that contains support for each different version of Ruby (1.8.7, 1.9.3 and 2.0.0)

For example latest sqlite3 gem contains support for all 3 of those versions:

C:\Users\Luis\Desktop>gem fetch sqlite3
Fetching: sqlite3-1.3.8-x86-mingw32.gem (100%)
Downloaded sqlite3-1.3.8-x86-mingw32

C:\Users\Luis\Desktop>gem spec sqlite3-1.3.8-x86-mingw32.gem files
---
...
- lib/sqlite3/1.8/sqlite3_native.so
- lib/sqlite3/1.9/sqlite3_native.so
- lib/sqlite3/2.0/sqlite3_native.so

-- 
Reply all
Reply to author
Forward
0 new messages