abc*_*123 4 gem homebrew tiny-tds
$ sudo gem install tiny_tds
构建原生扩展.这可能需要一段时间......
错误:安装tiny_tds时出错:
错误:无法构建gem原生扩展.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
检查iconv.h中的iconv_open()...没有
检查-liconv中的iconv_open()...是的
检查sybfront.h ...是的
检查sybdb.h ...是的
检查-lsybdb中的tdsdbopen()...没有
即使在a之后也会出现上述错误
$ brew安装freetds
$ tar zxf freetds-stable.tgz
$ cd freetds-0.91
$ ./configure
$ make
$ sudo make install
它似乎缺少以下文件/usr/local/lib/:
libsybdb.so相反,我有以下文件:
libsybdb.alibsybdb.dyliblibsybdb.lazhe*_*yue 22
我通过明确指定64位架构解决了这个问题:
$ brew install freetds
$ sudo ARCHFLAGS="-arch x86_64" gem install tiny_tds
Run Code Online (Sandbox Code Playgroud)
原因是在宝石建造过程中,mkmf将尝试寻找32位版本的freetds,这是不可用的.错误信息中mkmf.log说:
ld: warning: ignoring file /usr/local/lib/libsybdb.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib/libsybdb.dylib
Undefined symbols for architecture i386:
"_tdsdbopen", referenced from:
_t in conftest-a13287.o
ld: symbol(s) not found for architecture i386
Run Code Online (Sandbox Code Playgroud)
正如我在Homebrew/TinyTDS/FreeTDS 捆绑错误中发布的那样,除此之外brew install freetds,您可能还需要配置捆绑器以了解在哪里可以找到 freetds。
例如(取决于自制程序安装 freetds 的确切位置):
bundle config set --global build.tiny_tds --with-freetds-dir=/opt/homebrew/Cellar/freetds/1.3.3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3590 次 |
| 最近记录: |