2013-02-21 3 views
12

МОЙ ВОПРОС
Какие шаги Surefire я могу принять на 100% получить эту работу? Мне понадобятся настоящие инструкции, а не ответы одного лайнера или неопределенные концептуальные описания процесса.В противном случае расслоение установить tiny_tds на Mac OS X 10.8 с Homebrew FreeTDS

Давайте рассмотрим это. Похоже, что есть конфликты где-то, и у меня была подпайка от разработчика Gem на GitHub по отношению к моему опыту с Ruby/Rails/Bundler/Homebrew, так что это не совсем их вина: P Но мне нужно выяснить как получить эту работу как можно скорее, поэтому здесь идет мое текущее состояние этой проблемы.


UPDATE: 2/25/2013
Обновлено 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` 

UPDATE 2: 2/25/2013
ХОРОШО, поэтому я переустановил все Руби/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.) мнимого УСПЕХА/фальшивый TIL YOU MAKE IT/A BIG спустили/ADVANCED ИНСТРУКЦИИ ПО УСТАНОВКЕ
Найдено эта запись в блоге ... 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 ...

Так я удалить tiny_tds из Gemfile и продолжить: Далее, я запустил его, как это чтобы запустить сервер в любом случае ... И, как и ожидалось ...

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

ДРУГИЕ СВЯЗАННЫЕ ВОПРОСЫ И РЕСУРСЫ

+0

У меня была очень похожая проблема, и ссылка ниже ее решила –

+1

Вы имели в виду прикрепить ссылку? –

+0

Извините, понял, что это вам не поможет, вы уже сделали то, что находится в ссылке. –

ответ

3

Ну, к сожалению, теперь у меня это работает, и у меня нет CLUE, как я это сделал, но я перечислил все, что я сделал до сих пор в этом ответе, чтобы решить эту проблему.

В конце концов, bundle install со стандартом gem 'tiny_tds', '0.5.1' в конечном итоге работает нормально. Он работает с Ruby версии 1.9.3-p194 через RVM.

Это где золото я довольно уверен ...
Я использовал rvm pkg install iconv и rvm reinstall 1.9.3 --with-iconv-dir=$rvm_path/usr

После этого завершено, я удалил все старые папки гема ... я переключился расслоение пути к конфигурации чтобы соответствовать новому рубиновому пути ...

Затем был установлен комплект и стрела.

Он также использует iconv 1.13 вместо 1.14, не уверен, что это важно.

Я надеюсь, что это поможет любому ... это определенно было для меня огромным опытом обучения.

4

Сначала установите 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 
+0

Конечно, вы также можете переустановить ruby ​​1.9.3 и указать iconv-dir, но мое решение немного быстрее. –

0

Я не знаю много о Ruby. Просто немного потрудился. Вы всегда можете установить vertx напрямую, чем я думаю, что у вас больше контроля с расположением каталога, и это упрощает обновление. Я написал руководство для команды Ops для производства (действительно, работа продолжается). Это может помочь вам. Возможно, это не так.

Я написал небольшое руководство по установке. Я планирую добавить некоторые твиков к нему о том, как настроить TCP/IP стек и VertX для масштабирования (настроек эфемерного порта, пределов дескриптора файла, нагрузочное тестирования, настройка рециркуляции буферов и т.д.)

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

Установка VertX на Ubuntu детали 13

Environment

типа Instance: EC2 hi1.4xlarge

  • ОС: Ubuntu 13.10 (64 бит) Java VM:

  • ява версия "1.7.0_25" (IcedTea 2.3.12) (сборка 23.7-B01)

  • VertX: 2.1M1 (встроенный 2013-10-29 11: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/местные/ша re/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 и, возможно, процесс, который просыпается и гарантирует, что все работает каждую минуту или около того. Я также планирую выпустить несколько экземпляров vertx с обратным прокси-сервером NGINX, чтобы каждый ящик мог обрабатывать около 1 000 000 запросов и иметь немного больше защиты DOS. Во всяком случае ... работа продолжается ...

12

Это сделало работу для меня (2 октября 2014/OSX 10.9.5):

brew install freetds 

и в рельсах:

gem 'tiny_tds' 
bundle install 
+0

Это сработало для меня. Спасибо @andorov –

+0

Нужно это на macOS 10.13. Это прекрасно работало. Спасибо! – JHawkZZ

0

Что работал для меня была 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 

в одной строке. Эта установка gem устанавливает драгоценный камень, но пакет все еще не удалось, хотя камень был построен и установлен. Тем не менее, добавление этих параметров для диспетчера.

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 

Это работает для меня на 20 февраля 2015 года на OS X 10.9.5 с Xcode 6.1.1 установлен

1

я решил его:

brew install freetds 

, а затем

bundle install