安装/捆绑gem unf_ext -v'0.0.6'时出错

时间:2015-04-09 23:21:36

标签: ruby-on-rails ruby gem bundle bundler

我正在尝试捆绑intall unf_ext -v '0.0.6',但我一直收到此错误:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

checking for main() in -lstdc++... yes
checking for ruby/encoding.h... yes
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling unf.cc
In file included from unf.cc:1:
In file included from ./unf/normalizer.hh:4:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:265:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__bit_reference:15:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:628:
In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:604:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/iterator:341:10: fatal error: '__debug' file not found
#include <__debug>
         ^
1 error generated.
make: *** [unf.o] Error 1

make failed, exit code 2

我已经gem update --systembrew install coreutils,但我仍然遇到同样的错误。

更新:回答
已从Apple Developer下载并安装commandlinetoolsosx10.10forxcode6.2.dmg。无需卸载任何东西。

2 个答案:

答案 0 :(得分:8)

这样做对我有用:

echo '#define _LIBCPP_ASSERT(x, m) ((void)0)' | sudo tee -a /Library/Developer/CommandLineTools/usr/include/c++/v1/__debug > /dev/null

然后再次运行bundle

并且,因为这只是一个临时修复,直到Apple发布补丁,删除新创建的文件:

sudo rm /Library/Developer/CommandLineTools/usr/include/c++/v1/__debug

答案 1 :(得分:7)

这是新的xcode工具中的一个错误。它打破了我的情况下的事件机器。有关虚拟文件和重新安装链接的答案,请参阅Missing C++ header <__debug> after updating OSX Command Line Tools 6.3。我降级到6.2,问题就消失了。