【发布时间】:2021-11-22 19:07:14
【问题描述】:
红宝石'2.5.0' gem 'rails', '~> 5.1.2' 捆绑版本 1.17.3 MAC OS 版本 MAC OS Big Sur 11.6
已经尝试过的解决方案 1)gem install thrift --with-cppflags="-D_FORTIFY_SOURCE=0 -Wno-shift-negative-value" 2)gem install thrift -v '0.9.3.0' -- --with-cppflags='-D_FORTIFY_SOURCE=0'
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/ijain/.rvm/gems/ruby-2.5.0/gems/thrift-0.9.3.0/ext
/Users/ijain/.rvm/rubies/ruby-2.5.0/bin/ruby -I /Users/ijain/.rvm/rubies/ruby-2.5.0/lib/ruby/site_ruby/2.5.0 -r
./siteconf20211001-29299-1tv02zv.rb extconf.rb --with-cflags\=-Wno-implicit-function-declaration
checking for strlcpy() in string.h... yes
creating Makefile
current directory: /Users/ijain/.rvm/gems/ruby-2.5.0/gems/thrift-0.9.3.0/ext
make DESTDIR\= clean
current directory: /Users/ijain/.rvm/gems/ruby-2.5.0/gems/thrift-0.9.3.0/ext
make DESTDIR\=
compiling binary_protocol_accelerated.c
binary_protocol_accelerated.c:404:68: error: '(' and '{' tokens introducing statement expression appear in different macro
expansion contexts [-Werror,-Wcompound-token-split-by-macro]
VALUE thrift_binary_protocol_class = rb_const_get(thrift_module, rb_intern("BinaryProtocol"));
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ijain/.rvm/rubies/ruby-2.5.0/include/ruby-2.5.0/ruby/ruby.h:1755:23: note: expanded from macro 'rb_intern'
__extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
^
binary_protocol_accelerated.c:404:68: note: '{' token is here
VALUE thrift_binary_protocol_class = rb_const_get(thrift_module, rb_intern("BinaryProtocol"));
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ijain/.rvm/rubies/ruby-2.5.0/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
__extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ijain/.rvm/rubies/ruby-2.5.0/include/ruby-2.5.0/ruby/ruby.h:1740:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
{ \
^
binary_protocol_accelerated.c:404:68: error: '}' and ')' tokens terminating statement expression appear in different macro
expansion contexts [-Werror,-Wcompound-token-split-by-macro]
VALUE thrift_binary_protocol_class = rb_const_get(thrift_module, rb_intern("BinaryProtocol"));
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ijain/.rvm/rubies/ruby-2.5.0/include/ruby-2.5.0/ruby/ruby.h:1755:24: note: expanded from macro 'rb_intern'
__extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ijain/.rvm/rubies/ruby-2.5.0/include/ruby-2.5.0/ruby/ruby.h:1745:5: note: expanded from macro 'RUBY_CONST_ID_CACHE'
}
^
binary_protocol_accelerated.c:404:68: note: ')' token is here
VALUE thrift_binary_protocol_class = rb_const_get(thrift_module, rb_intern("BinaryProtocol"));
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ijain/.rvm/rubies/ruby-2.5.0/include/ruby-2.5.0/ruby/ruby.h:1755:56: note: expanded from macro 'rb_intern'
__extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \ ```
【问题讨论】:
标签: ruby-on-rails ruby rubygems bundler