Rails 4: Error when installing tiny_tds gem?
ruby, ruby-on-rails, ruby-on-rails-4
Solution
Looks like you don't have freetds installed on this machine:
sudo apt-get install freetds-dev
If you see the details of the freetds-dev package you will see it has the missing file `sybfront.h`
There is no gem that I know for `freetds` and building the `tiny_tds` gem requires it to compile. However it should be possible for you build your own version of the gem using `MiniPortile`.
Rather than using the normal `gem install` mechanism you need to clone the `tiny_tds` from GitHub and then build a native gem for your environment. This process will include downloading a specific version of `freetds` which is used to compile the gem against.
This should get you round the problem of not being able to install `freetds-dev` package, but does have the disadvantage that if `tiny_tds` gem is updated in the future you will need to repeat this process each time - you can't simply take advantage of `bundle update`.
The steps you need to follow are detailed here.
Problem
I have developed a rails web project with Ruby v2 and Rails v4. It was perfectly working in my current system and when i tried to run this project in another Linux machine (Ubuntu 12.4 ) i am getting a Tidy_tds error . This error is showing at the time of `bundle install` , Error Details below ``` Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /home/action/.rvm/rubies/ruby-2.1.1/bin/ruby extconf.rb checking for iconv_open() in iconv.h... yes checking for sybfront.h... no ----- freetds is missing. Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/home/action/.rvm/rubies/ruby-2.1.1/bin/ruby --enable-lookup --disable-lookup --with-iconv-dir --without-iconv-dir --with-iconv-include --without-iconv-include=${iconv-dir}/include --with-iconv-lib --without-iconv-lib=${iconv-dir}/lib --with-freetds-dir --without-freetds-dir --with-freetds-include --without-freetds-include=${freetds-dir}/include --with-freetds-lib --without-freetds-lib=${freetds-dir}/lib extconf failed, exit code 1 Gem files will remain installed in /home/action/.rvm/gems/ruby-2.1.1/gems/tiny_tds-0.6.1 for inspection. Results logged to /home/action/.rvm/gems/ruby-2.1.1/extensions/x86_64-linux/2.1.0/tiny_tds-0.6.1/gem_make.out An error occurred while installing tiny_tds (0.6.1), and Bundler cannot continue. Make sure that `gem install tiny_tds -v '0.6.1'` succeeds before bundling. ``` I have also tried installing tiny_tds seperatly, but still i am getting the same issue ``` gem install tiny_tds -v '0.6.1' ``` My gem file, ``` source 'https://rubygems.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.0.2' # Use SCSS for stylesheets gem 'sass-rails', '~> 4.0.0' gem 'tiny_tds' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # Use CoffeeScript for .js.coffee assets and views gem 'coffee-rails', '~> 4.0.0' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby # Use jquery as the JavaScript library gem 'jquery-rails' # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks gem 'turbolinks' gem 'jquery-ui-rails' # jquery ui # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 1.2' group :doc do # bundle exec rake doc:rails generates the API under doc/api. gem 'sdoc', require: false end # Use sqlserver as the database for Active Record gem 'activerecord-sqlserver-adapter', :git => 'https://github.com/nextgearcapital/activerecord-sqlserver-adapter.git' gem "therubyracer" gem "less-rails" gem "twitter-bootstrap-rails" gem 'bootstrap-datepicker-rails' gem 'will_paginate' gem 'sqlite3' gem 'formtastic' ``` Why is this error appearing and how to solve this issue. Any help is appreciated