如果不捆绑安装与自制freetds的在Mac OS X 10.8 tiny_tds(Failing

2019-08-17 02:52发布

我的问题
什么是一些万无一失的步骤我可以100%得到这个工作? 我需要真正的指令,而不是一个衬垫的答案或过程的模糊概念描述。

让我们到这条底线。 这样看来,有地方冲突,我已经从有关GitHub上的宝石开发商欠佳协助我用Ruby / Rails的/捆扎机/家酿的经验,所以它不是完全是他们的错:P但我需要弄清楚如何得到这个工作尽快所以这里去我目前这个问题的状态。


更新:2013年2月25日
更新GCC / XCODE 4.6版(4H127)和XCODE命令行工具的下载最新版本的,现在iconv_open子()是显示了在extconf检查。 现在,我得到这些错误:

我相信他们现在tiny_tds,并与最新的xcode的路径兼容性问题。

    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 1

Alright, 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`

更新2:2013年2月25日
好了,所以我重新安装了一切,的Ruby / Rails /等而从评论者所使用的一些建议使用“:路径=>”这里是我的输出现在当我运行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'

事情我已经试过

1)初始简易安装说明像任何其他...

$ rails new test_app
$ cd test_app

现在,添加这些行Gemfile

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

现在继续命令......

$ bundle install

Fetching 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... no
checking for iconv_open() in -liconv... no
-----
libiconv is missing.
-----
*** extconf.rb failed ***
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-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-iconvlib


Gem 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.out
An 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.

输出tsql -C

$ tsql -C
Compile-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指令
发现这个博客条目... http://talltroym.blogspot.com/2012/04/installing-activerecord-sqlserver.html

然后我位于我正确的路径到libiconv的图书馆和图书馆freetds的。 接下来,我跑这样的:

$ 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/include
Password:
Building native extensions.  This could take a while...
Successfully installed tiny_tds-0.5.1
1 gem installed
Installing ri documentation for tiny_tds-0.5.1...
Installing RDoc documentation for tiny_tds-0.5.1...

试图bundle_install一遍,震撼......它仍然不是通过安装gem 'tiny_tds'中的Gemfile ...

所以,我从Gemfile中删除tiny_tds并继续反正启动服务器了...和预期的一样...

$ 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 server
Exiting
/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)迷你便携式

$ 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.

其他相关问题和资源

  • 错误通过创业板安装tiny_tds在OSX 10.6安装TinyTDS (不是知识性可言......由于它不是为我工作的。)
  • freetds的Mac OS X的MiniPortile (上miniportile的做法不是很翔实或如何使用它...)
  • 自制/ TinyTDS / freetds的束错误 (涉及到Linux,不苹果机)
  • ROR +无法安装tiny_tds
  • http://talltroym.blogspot.com/2012/04/installing-activerecord-sqlserver.html (这给了我假的希望博客条目)
  • https://github.com/rails-sqlserver/tiny_tds/issues/71 (github上的问题,我在我收到的一些建议,我不理解不够好,转化为一个成功的故事评论)
  • https://github.com/rails-sqlserver/tiny_tds (github上的tiny_tds宝石)

Answer 1:

这确实为我工作(2014年10月2日/ OSX 10.9.5):

brew install freetds

在轨道:

gem 'tiny_tds'
bundle install


Answer 2:

首先安装free_tds和需要的依赖。

这个工作对我来说,你的路可能会有所不同

gem install tiny_tds -- --with-freetds-include=/usr/local/include
--with-freetds-lib=/usr/local/lib
--with-iconv-include=/usr/local/Cellar/libiconv/1.14/include
--with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib


Answer 3:

唉,可惜我现在已经得到了它的工作和不知道如何我已经做到了,但我会列出所有的我在这个答案迄今所做的,解决它的东西。

最后, bundle install标准gem 'tiny_tds', '0.5.1'结束了工作的罚款。 它通过RVM运行的Ruby版本1.9.3-P194。

这是金是我相当肯定...
我用rvm pkg install iconvrvm reinstall 1.9.3 --with-iconv-dir=$rvm_path/usr

一旦完成了,我删除了所有旧的宝石文件夹...我切换以匹配新的红宝石通道束配置路径...

然后没有捆绑安装和繁荣。

它也用iconv 1.13,而不是1.14不知道,如果该事项。

我希望这可以帮助任何人说话,它肯定对我来说是巨大的学习经验。



Answer 4:

我已经解决了它:

brew install freetds

然后

bundle install


Answer 5:

我不知道很多关于Ruby。 刚刚涉足了一下。 你总是可以直接安装vertx我觉得比你有目录位置更多的控制,它可以更容易升级。 我写了为行动小组进行生产指导(在进展中的工作真的)。 它可以帮助你。 它可能不是。

我写了一个小安装指南。 我计划加入一些调整,以它如何配置TCP / IP堆栈和Vertx规模(临时端口设置,文件描述符限制,负载测试,调整循环缓冲器等)

http://rick-hightower.blogspot.com/2013/11/installing-vertx-on-ubuntu-13.html

在Ubuntu上安装13 Vertx

环境信息

实例类型:EC2 hi1.4xlarge

  • 操作系统:Ubuntu的13.10(64位)的Java虚拟机:

  • Java版本 “1.7.0_25”(2.3.12的IcedTea)(建23.7-B01)

  • vertx:2.1M1(建2013年10月29日11点十一分22秒)

安装软件

Java 7的JDK:

 $ sudo apt-get install openjdk-7-jdk

Vertx:

下载Vertx

$ wget http://dl.bintray.com/vertx/downloads/vert.x-2.1M1.tar.gz
$ tar -zxf vert.x-2.1M1.tar.gz 
$ ls
vert.x-2.1M1  vert.x-2.1M1.tar.gz

进入标准的Unix结构:

$ sudo mv vert.x-2.1M1 /usr/local/share/
$ ls /usr/local/share/
  ...  vert.x-2.1M1  xml

创建符号链接到/ usr / local / share下/ vertx所以升级比较容易。

$ sudo ln -s /usr/local/share/vert.x-2.1M1/ /usr/local/share/vertx
$ ls /usr/local/share/vertx
api-docs  bin  client  conf  lib

添加vertx符号链接到你的/ usr / bin /目录。

$ sudo ln -s /usr/local/share/vertx/bin/vertx /usr/bin/vertx

安装一个真正该死的编辑器:

$ sudo apt-get install emacs

创建测试脚本来测试vertx正确安装:

var vertx = require('vertx');
vertx.createHttpServer().requestHandler(function(r) {
r.response.end("test 1\n");}).listen(8080);

现在对运行测试脚本vertx:

$ vertx run test.js &
[1] 11493
$ Succeeded in deploying verticle 

现在测试该安装所有的工作:

$ curl 127.0.0.1:8080
test 1

如果你得到“测试1”,这意味着vertx是安装并能服务器verticles。

后来我打算加入的init.d脚本启动vertx也许是唤醒并确保一切运行每分钟左右的过程。 我还打算对开几vertx情况下nginx的反向代理,以便每个盒子能处理接近100万次的请求,并有一点DOS保护。 反正......工作正在进行中...



Answer 6:

什么工作对我来说是mr.ruh.roh的宝石大厦以上选项,转载这里:

gem install tiny_tds -- --with-freetds-include=/usr/local/include   
    --with-freetds-lib=/usr/local/lib
    --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include
    --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib

在一行。 创业板安装安装宝石,但包还是失败了,尽管创业板已经建成并安装。 增加对捆绑了这些选项,但是,工作。

bundle config build.tiny_tds -- --with-freetds-include=/usr/local/include 
  --with-freetds-lib=/usr/local/lib 
  --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include 
  --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib

再次,在一行中。 与捆绑的配置设置, bundle install工作。

请注意,我已经运行:

brew install freetds
brew install libiconv

这为我工作于2015年2月20日在OS X 10.9.5和Xcode 6.1.1安装



文章来源: Failing to bundle install tiny_tds on Mac OS X 10.8 with Homebrew FreeTds