gpt4 book ai didi

ruby - 节俭 ruby

转载 作者:数据小太阳 更新时间:2023-10-29 06:39:47 24 4
gpt4 key购买 nike

我这辈子都无法成功运行“gem install thrift”,在构建 gem 的 native 扩展时失败了;这是输出:

(acib708) ~ -> gem install thrift
Building native extensions. This could take a while...
ERROR: Error installing thrift:
ERROR: Failed to build gem native extension.

/Users/acib708/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb
extconf.rb:25:in `<main>': Use RbConfig instead of obsolete and deprecated Config.
extconf.rb:25:in `<main>': Use RbConfig instead of obsolete and deprecated Config.
checking for strlcpy() in string.h... yes
creating Makefile

make "DESTDIR="
compiling binary_protocol_accelerated.c
compiling bytes.c
compiling compact_protocol.c
compiling memory_buffer.c
compiling protocol.c
compiling strlcpy.c
^

(...)

In file included from strlcpy.c:20:
./strlcpy.h:28:15: error: conflicting types for '__builtin___strlcpy_chk'
/usr/include/secure/_string.h:105:3: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, src, len, __darwin_obsz (dest))
^
./strlcpy.h:28:15: note: '__builtin___strlcpy_chk' is a builtin with type 'unsigned long (char *, const char *, unsigned long, unsigned long)'
/usr/include/secure/_string.h:105:3: note: expanded from macro 'strlcpy'
__builtin___strlcpy_chk (dest, src, len, __darwin_obsz (dest))
^
4 errors generated.
make: *** [strlcpy.o] Error 1


Gem files will remain installed in /Users/acib708/.rvm/gems/ruby-2.0.0-p247/gems/thrift-0.9.1 for inspection.
Results logged to /Users/acib708/.rvm/gems/ruby-2.0.0-p247/gems/thrift-0.9.1/ext/gem_make.out

我在网上看到很多类似的错误,但我还没有找到解决方案。我正在运行 OS X 10.9,安装了全新的 rvm/ruby-2.0.0-p247。有任何想法吗?谢谢。

最佳答案

目前的问题可以在 https://issues.apache.org/jira/browse/THRIFT-2219 找到

作为对使用 gems 的人的临时修复,您可以尝试将 #define'ing _FORTIFY_SOURCE 宏设置为 0 以使 strlcpy 成为函数而不是宏:

gem install thrift -- --with-cppflags='-D_FORTIFY_SOURCE=0'

或者如果您使用的是 bundler ,您可以通过以下方式在本地设置节俭的 cflags:

bundle config build.thrift --with-cppflags='-D_FORTIFY_SOURCE=0'

关于ruby - 节俭 ruby ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19649984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com