未能在Mac OS X 10.8上安装tiny_tds与自制软件FreeTds
我的问题
什么是一些surefire步骤,我可以采取100%得到这个工作? 我需要真正的指导,而不是一个班轮答案或对这个过程的模糊的概念性描述。未能在Mac OS X 10.8上安装tiny_tds与自制软件FreeTds
让我们来看看这个。 这似乎是有冲突的地方,我已经得到了GitHub的宝石开发人员的帮助,涉及到我对Ruby/Rails/Bundler/Homebrew的经验,所以它不完全是他们的错: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日
OKAY,所以我重新安装一切,红宝石/轨道/等 而从评论者使用的一些建议,用 “:路径=>” 和这里是我的输出现在当我运行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)虚成功/伪造它直到你让它/ A BIG放下/高级设置说明
发现这个博客条目... 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
和冲击......但它仍然不是通过在Gemfile中gem 'tiny_tds'
安装...
所以我从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)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.
其他相关问题和资源
- Error installing TinyTDS on OSX 10.6 via gem install tiny_tds (不是知识性可言......由于它是不工作的 我。 )
- FreeTDS Mac OS X MiniPortile (关于miniportile的方法或如何使用的信息不多吧...)
- Homebrew/TinyTDS/FreeTDS bundle error (涉及到Linux,不支持Mac)
- ROR + Unable to install 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宝石)
那么,不幸的是,我现在已经得到它的工作,并没有CLUE如何做到这一点,但我会列出迄今为止在这个答案解决它所做的所有事情。
最后,bundle install
与标准gem 'tiny_tds', '0.5.1'
结束了工作正常。 它通过RVM运行Ruby 1.9.3-p194版本。
这就是黄金是我相当肯定...
我用rvm pkg install iconv
和rvm reinstall 1.9.3 --with-iconv-dir=$rvm_path/usr
一旦完成,我删除了所有旧的宝石文件夹... 我打开包的配置路径以匹配新的红宝石路径...
然后确实捆绑安装,并繁荣。
它也使用iconv 1.13而不是1.14不知道是否重要。
我希望这可以帮助任何人...这绝对是一个巨大的学习经验对我来说。
首先安装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
当然,你也可以重新安装红宝石1.9.3并指定iconv-dir,但我的解决方案更快一些。 – 2013-03-01 19:16:28
我不知道很多关于Ruby。只是涉猎了一下。您始终可以直接安装vertx,而不是我认为您可以更好地控制目录位置,并且可以更轻松地进行升级。我为Ops团队编写了一本生产指南(真的是一项进展中的工作)。它可能会帮助你。它可能不会。
我写了一个安装指南。我计划加入一些调整,以它如何配置TCP/IP堆栈和Vertx规模(临时端口设置,文件描述符限制,负载测试,调整循环缓冲区等)
http://rick-hightower.blogspot.com/2013/11/installing-vertx-on-ubuntu-13.html
安装Vertx在Ubuntu 13
环境的详细信息
实例类型: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 JDK 7:
$ 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 /本地/ SHA重新/ 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
现在测试安装l所有工作:
$ curl 127.0.0.1:8080
test 1
如果您得到“测试1”,这意味着vertx是安装并能够服务器垂直。
后来我打算添加init.d脚本来启动vertx,并且可能会唤醒一个进程并确保每分钟都在运行。我还计划使用NGINX反向代理向前几个vertex实例,以便每个盒子可以处理接近1,000,000个请求并具有更多的DOS保护。反正...进展中的工作...
该做的工作,我(2014年10月2日/ OSX 10.9.5):
brew install freetds
和轨道:
gem 'tiny_tds'
bundle install
这对我有用。谢谢@andorov – 2015-11-05 08:06:31
在macOS 10.13上需要这个。这工作很好。谢谢! – JHawkZZ 2018-02-06 17:32:29
什么工作对我来说是上述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
。该宝石安装安装宝石,但捆绑仍然失败,即使宝石已经建成并安装。然而,为bundler添加这些选项已奏效。
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安装
我有解决它:
brew install freetds
然后
bundle install
我有一个非常类似的问题,下面的链接解决了它 – 2013-02-25 16:17:22
您是否想要附加链接? – 2013-02-25 16:18:15
对不起,意识到它不会帮助你,你已经完成了链接。 – 2013-02-25 16:19:57