You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
truffleruby 20.1.0-dev-08311e22, like ruby 2.6.5, GraalVM CE Native [x86_64-darwin]
To reproduce:
$ gem install simdjson
Error:
Fetching simdjson-0.2.0.gem
Building native extensions. This could take a while...
ERROR: Error installing simdjson:
ERROR: Failed to build gem native extension.
current directory: ~/.gem/truffleruby/2.6.5/gems/simdjson-0.2.0/ext/simdjson
~/.rubies/truffleruby-dev/bin/truffleruby -I ~/.rubies/truffleruby-dev/lib/mri -r ./siteconf20200224-84741-1hdzy5a.rb extconf.rb
creating Makefile
current directory: ~/.gem/truffleruby/2.6.5/gems/simdjson-0.2.0/ext/simdjson
make "DESTDIR=" clean
current directory: ~/.gem/truffleruby/2.6.5/gems/simdjson-0.2.0/ext/simdjson
make "DESTDIR="
compiling simdjson.cpp
In file included from simdjson.cpp:5:
In file included from ./simdjson.hpp:4:
In file included from ~/.rubies/truffleruby-dev/lib/cext/include/ruby.h:33:
~/.rubies/truffleruby-dev/lib/cext/include/ruby/ruby.h:902:1: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
struct RUBY_ALIGNAS(SIZEOF_VALUE) RBasic {
^
In file included from simdjson.cpp:5:
In file included from ./simdjson.hpp:4:
In file included from ~/.rubies/truffleruby-dev/lib/cext/include/ruby.h:33:
In file included from ~/.rubies/truffleruby-dev/lib/cext/include/ruby/ruby.h:1939:
~/.rubies/truffleruby-dev/lib/cext/include/ruby/intern.h:56:19: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
void rb_mem_clear(register VALUE*, register long);
^~~~~~~~~
~/.rubies/truffleruby-dev/lib/cext/include/ruby/intern.h:56:36: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
void rb_mem_clear(register VALUE*, register long);
^~~~~~~~~
1 warning and 2 errors generated.
make: *** [simdjson.o] Error 1
make failed, exit code 2
Gem files will remain installed in ~/.gem/truffleruby/2.6.5/gems/simdjson-0.2.0 for inspection.
Results logged to ~/.gem/truffleruby/2.6.5/extensions/x86_64-darwin/20.1.0-dev-08311e22/simdjson-0.2.0/gem_make.out
The text was updated successfully, but these errors were encountered:
The same warning happens on MRI 2.6.5 too with gcc, except there it's a warning and not an error:
compiling simdjson.cpp
cc1plus: warning: command line option ‘-Wdeclaration-after-statement’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wimplicit-function-declaration’ is valid for C/ObjC but not for C++
cc1plus: warning: command line option ‘-Wimplicit-int’ is valid for C/ObjC but not for C++
In file included from /home/eregon/.rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/ruby.h:2111,
from /home/eregon/.rubies/ruby-2.6.5/include/ruby-2.6.0/ruby.h:33,
from simdjson.hpp:4,
from simdjson.cpp:5:
/home/eregon/.rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/intern.h:56:33: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
void rb_mem_clear(register VALUE*, register long);
^
/home/eregon/.rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/intern.h:56:45: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
void rb_mem_clear(register VALUE*, register long);
^~~~
Since the warning comes from ruby/intern.h it should be fixed in TruffleRuby, as done in MRI in ruby/ruby@113bef6.
To reproduce:
Error:
The text was updated successfully, but these errors were encountered: