Quantcast
Channel: Active questions tagged ruby - Stack Overflow
Viewing all articles
Browse latest Browse all 4628

Failing to bundle install tiny_tds on Mac OS X 10.8 with Homebrew FreeTds

$
0
0

MY QUESTION
What are some surefire steps I can take to 100% get this working?I would need real instructions, not one liner answers or vague conceptual descriptions of the process.

Let's get to the bottom of this.It would appear that there are conflicts somewhere and I've had subpar assistance from the gem developer on GitHub in relation to my experience with Ruby / Rails / Bundler / Homebrew so it's not completely their fault :PBut I need to figure out how to get this working ASAP so here goes with my current state of this problem.


UPDATE: 2/25/2013
Updated GCC / XCODE Version 4.6 (4H127) and downloaded latest version of XCODE COMMAND-LINE TOOLSand now iconv_open() is showing up in the extconf checker.Now I'm getting these errors:

I believe they are now issues with tiny_tds and compatibility with latest xcode paths.

    Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.            /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb     checking for iconv_open() in iconv.h... yes    checking for sybfront.h... yes    checking for sybdb.h... yes    checking for tdsdbopen() in -lsybdb... yes    checking for ct_bind() in -lct... yes    creating Makefile    make    xcrun cc -I. -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I. -DHAVE_ICONV_OPEN -DHAVE_SYBFRONT_H -DHAVE_SYBDB_H -I-I/usr/local/php5/include -I-I/usr/include -I-I/usr/local/include -I-I/opt/local/include -I-I/usr/local/MacGPG2/include -I-I/opt/sm/pkg/active/include -I/usr/local/php5/include -I/usr/include -I/usr/local/include -I/opt/local/include -I/usr/local/MacGPG2/include -I/opt/sm/pkg/active/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common  -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common    -c client.c    xcrun: Error: could not stat active Xcode path '/Developer'. (No such file or directory)    xcrun cc -I. -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I. -DHAVE_ICONV_OPEN -DHAVE_SYBFRONT_H -DHAVE_SYBDB_H -I-I/usr/local/php5/include -I-I/usr/include -I-I/usr/local/include -I-I/opt/local/include -I-I/usr/local/MacGPG2/include -I-I/opt/sm/pkg/active/include -I/usr/local/php5/include -I/usr/include -I/usr/local/include -I/opt/local/include -I/usr/local/MacGPG2/include -I/opt/sm/pkg/active/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common  -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common    -c result.c    xcrun: Error: could not stat active Xcode path '/Developer'. (No such file or directory)    xcrun cc -I. -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I. -DHAVE_ICONV_OPEN -DHAVE_SYBFRONT_H -DHAVE_SYBDB_H -I-I/usr/local/php5/include -I-I/usr/include -I-I/usr/local/include -I-I/opt/local/include -I-I/usr/local/MacGPG2/include -I-I/opt/sm/pkg/active/include -I/usr/local/php5/include -I/usr/include -I/usr/local/include -I/opt/local/include -I/usr/local/MacGPG2/include -I/opt/sm/pkg/active/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common  -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common    -c tiny_tds_ext.c    xcrun: Error: could not stat active Xcode path '/Developer'. (No such file or directory)    cc  -pipe -bundle -undefined dynamic_lookup -o tiny_tds.bundle client.o result.o tiny_tds_ext.o -L. -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -L/usr/local/heroku/lib -L/usr/local/php5/lib -L/usr/local/Cellar/ruby/1.9.3-p194/lib -L/usr/lib -L/usr/local/lib -L/opt/local/lib -L/usr/local/MacGPG2/lib -L/opt/sm/pkg/active/lib -L/Users/rountrjf/.rvm/lib -L/usr/local/Cellar/vertx/lib -L/usr/local/Cellar/vertx/mods/node.vert.x/lib -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -L.       -lruby -lct -lsybdb  -lpthread -ldl -lobjc       i686-apple-darwin11-llvm-gcc-4.2: client.o: No such file or directory    i686-apple-darwin11-llvm-gcc-4.2: result.o: No such file or directory    i686-apple-darwin11-llvm-gcc-4.2: tiny_tds_ext.o: No such file or directory    make: *** [tiny_tds.bundle] Error 1Alright, since /Developer doesn't exist.I used `sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer` thinking that would fix it.  Now I'm back to square one... iconv_open() not found when checked with `extconf.rb`

UPDATE 2: 2/25/2013
OKAY, so I reinstalled everything, Ruby / Rails / etc.And used some advice from a commenter to use ":path =>"and here is my output now when I run rails s

/Users/rountrjf/.rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- tiny_tds (LoadError)    from /Users/rountrjf/.rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `block in require'    from /Users/rountrjf/.rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:236:in `load_dependency'    from /Users/rountrjf/.rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `require'    from /Users/rountrjf/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-sqlserver-adapter-3.2.10/lib/active_record/connection_adapters/sqlserver_adapter.rb:31:in `sqlserver_connection'    from /Users/rountrjf/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.12/lib/active_record/connection_adapters/abstract/connection_pool.rb:315:in `new_connection'

THINGS I'VE TRIED

1.) The initial EASY setup instructions like any other...

$ rails new test_app$ cd test_app

Now add these lines to Gemfile

gem 'tiny_tds'gem 'activerecord-sqlserver-adapter'

Now continue commands...

$ bundle installFetching gem metadata from https://rubygems.org/...........Fetching gem metadata from https://rubygems.org/..Resolving dependencies...Using rake (10.0.3) Using i18n (0.6.1) Using multi_json (1.6.1) Using activesupport (3.2.12) Using builder (3.0.4) Using activemodel (3.2.12) Using erubis (2.7.0) Using journey (1.0.4) Using rack (1.4.5) Using rack-cache (1.2) Using rack-test (0.6.2) Using hike (1.2.1) Using tilt (1.3.3) Using sprockets (2.2.2) Using actionpack (3.2.12) Using mime-types (1.21) Using polyglot (0.3.3) Using treetop (1.4.12) Using mail (2.4.4) Using actionmailer (3.2.12) Using arel (3.0.2) Using tzinfo (0.3.35) Using activerecord (3.2.12) Using activerecord-sqlserver-adapter (3.2.10) Using activeresource (3.2.12) Using bundler (1.2.4) Using coffee-script-source (1.4.0) Using execjs (1.4.0) Using coffee-script (2.2.0) Using rack-ssl (1.3.3) Using json (1.7.7) Using rdoc (3.12.1) Using thor (0.17.0) Using railties (3.2.12) Using coffee-rails (3.2.2) Using jquery-rails (2.2.1) Using rails (3.2.12) Using sass (3.2.5) Using sass-rails (3.2.6) Installing tiny_tds (0.5.1) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.        /usr/local/Cellar/ruby/1.9.3-p194/bin/ruby extconf.rb checking for iconv_open() in iconv.h... nochecking for iconv_open() in -liconv... no-----libiconv is missing.-----*** extconf.rb failed ***Could not create Makefile due to some reason, probably lack ofnecessary libraries and/or headers.  Check the mkmf.log file for moredetails.  You may need configuration options.Provided configuration options:    --with-opt-dir    --without-opt-dir    --with-opt-include    --without-opt-include=${opt-dir}/include    --with-opt-lib    --without-opt-lib=${opt-dir}/lib    --with-make-prog    --without-make-prog    --srcdir=.    --curdir    --ruby=/usr/local/Cellar/ruby/1.9.3-p194/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    --with-iconvlib    --without-iconvlibGem files will remain installed in /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/gems/tiny_tds-0.5.1 for inspection.Results logged to /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/gems/tiny_tds-0.5.1/ext/tiny_tds/gem_make.outAn error occurred while installing tiny_tds (0.5.1), and Bundler cannot continue.Make sure that `gem install tiny_tds -v '0.5.1'` succeeds before bundling.

OUTPUT OF tsql -C

$ tsql -CCompile-time settings (established with the "configure" script)                            Version: freetds v0.91             freetds.conf directory: /usr/local/Cellar/freetds/0.91/etc     MS db-lib source compatibility: no        Sybase binary compatibility: no                      Thread safety: yes                      iconv library: yes                        TDS version: 7.1                              iODBC: yes                           unixodbc: no              SSPI "trusted" logins: no                           Kerberos: no

2.) IMAGINARY SUCCESS / FAKE IT TIL YOU MAKE IT / A BIG LET DOWN / ADVANCED SETUP INSTRUCTIONS
Found this blog entry...http://talltroym.blogspot.com/2012/04/installing-activerecord-sqlserver.html

I then located my correct paths to the libiconv library and the freetds library.Next, I ran it like this:

$ sudo gem install tiny_tds -- --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib --with-freetds-lib=/usr/local/Cellar/freetds/0.91/lib --with-freetds-include=/usr/local/Cellar/freetds/0.91/includePassword:Building native extensions.  This could take a while...Successfully installed tiny_tds-0.5.11 gem installedInstalling ri documentation for tiny_tds-0.5.1...Installing RDoc documentation for tiny_tds-0.5.1...

Tried bundle_install again, and shock... it still isn't installing via gem 'tiny_tds' in Gemfile...

So I remove tiny_tds from Gemfile and proceed to start the server up anyway...And as expected...

$ rails s=> Booting WEBrick=> Rails 3.2.12 application starting in development on http://0.0.0.0:3000=> Call with -d to detach=> Ctrl-C to shutdown serverExiting/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/gems/activesupport-3.2.12/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- tiny_tds (LoadError)...

3.) MINI PORTILE

$ sudo gem install mini_portile$ sudo gem install rakecompiler$ rake TINYTDS_FREETDS_VERSION="current"Could not find gem 'tiny_tds (>= 0) ruby' in the gems available on this machine.Run `bundle install` to install missing gems.

OTHER RELATED QUESTIONS AND RESOURCES


Viewing all articles
Browse latest Browse all 4628

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>