# Where do you put library binary (dll and so) stuff?

**URL:** <https://www.ruby-forum.com/t/where-do-you-put-library-binary-dll-and-so-stuff/111810>\
**Category:** Rails\
**Created:** [August 11, 2007, 6:42am UTC](https://www.ruby-forum.com/t/where-do-you-put-library-binary-dll-and-so-stuff/111810 "2007-08-11T06:42:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rinda](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/ce73a5/32.png) [@rinda](https://www.ruby-forum.com/u/rinda)\
**Post date:** [August 11, 2007, 6:42am UTC](https://www.ruby-forum.com/t/where-do-you-put-library-binary-dll-and-so-stuff/111810/1 "2007-08-11T06:42:04Z")

</div>

Hi,

My rails application use Sqlite3 database. I have this goal. To run my  
rails application, user (with Linux and Windows 32 bit) only need to  
install Ruby. So I freeze rails (rake rails:freeze:gems). I unpack  
sqlite3-ruby gems (gem unpack sqlite3-ruby). I download binary sqlite3  
library (sqlite3-Linux-x86.so, sqlite3-Windows-x86.dll).

The question is where I put the library stuff in my rails application  
directory.

Thank you.

---

<div class="post-metadata">

**Author:** ![rinda](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/ce73a5/32.png) [@rinda](https://www.ruby-forum.com/u/rinda)\
**Post date:** [August 12, 2007, 4:23pm UTC](https://www.ruby-forum.com/t/where-do-you-put-library-binary-dll-and-so-stuff/111810/2 "2007-08-12T16:23:52Z")

</div>

Hi Akbar,

> My rails application use Sqlite3 database. I have this goal. To run my  
> rails application, user (with Linux and Windows 32 bit) only need to  
> install Ruby. So I freeze rails (rake rails:freeze:gems). I unpack  
> sqlite3-ruby gems (gem unpack sqlite3-ruby). I download binary sqlite3  
> library (sqlite3-Linux-x86.so, sqlite3-Windows-x86.dll).

The short answer: unpack the gems into vendor and use the gems [1]  
plugin.

The long answer: unpack the gems into vendor and use the gems [1]  
plugin, but know that your Linux deployment will not be as ubiquitous as  
your Windows deployment.

Any Linux box you want to deploy to needs to match the Linux box you  
compiled the .so on for any library dependency. (Use ldd to find out  
which.) If some Linux server is running a different greater version of  
glibc or sqlite3, then you’ll be out of luck.

In all, I’d recommend against what you’re trying to accomplish and  
perhaps use deprec instead to set up the proper dependencies on the  
target system.

[1] [http://svn.techno-weenie.net/projects/plugins/gems/](http://svn.techno-weenie.net/projects/plugins/gems/)

–  
Roderick van Domburg

> **[De domeinnaam Nedforce.nl is te koop.](http://www.nedforce.nl)**
>
> Deze mooie domeinnaam kan al over een paar minuten van jou zijn. Betalen gaat eenvoudig en vertrouwd via iDEAL. Direct na de betaling ontvang je de verhuiscode per e-mail en kun je aan de slag.
