martin-nyaga / fast_statistics Goto Github PK
View Code? Open in Web Editor NEWFast computation of descriptive statistics in ruby using native code and SIMD
License: MIT License
Fast computation of descriptive statistics in ruby using native code and SIMD
License: MIT License
Hello,
I seem to be having an error installing the gem on a 2021 M1 mac:
gem install fast_statistics
Fetching: fast_statistics-0.2.1.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing fast_statistics:
ERROR: Failed to build gem native extension.
current directory: /Users/vikaswadhwa/.gem/ruby/2.5.5/gems/fast_statistics-0.2.1/ext/fast_statistics
/Users/vikaswadhwa/.rubies/ruby-2.5.5/bin/ruby -r ./siteconf20211219-68486-1va4dw1.rb extconf.rb
checking for xmmintrin.h... yes
creating Makefile
current directory: /Users/vikaswadhwa/.gem/ruby/2.5.5/gems/fast_statistics-0.2.1/ext/fast_statistics
make "DESTDIR=" clean
current directory: /Users/vikaswadhwa/.gem/ruby/2.5.5/gems/fast_statistics-0.2.1/ext/fast_statistics
make "DESTDIR="
compiling array_2d.cpp
In file included from array_2d.cpp:1:
In file included from ./array_2d.h:4:
In file included from /Users/vikaswadhwa/.rubies/ruby-2.5.5/include/ruby-2.5.0/ruby.h:33:
In file included from /Users/vikaswadhwa/.rubies/ruby-2.5.5/include/ruby-2.5.0/ruby/ruby.h:2040:
/Users/vikaswadhwa/.rubies/ruby-2.5.5/include/ruby-2.5.0/ruby/intern.h:47:19: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
void rb_mem_clear(register VALUE*, register long);
^~~~~~~~~
/Users/vikaswadhwa/.rubies/ruby-2.5.5/include/ruby-2.5.0/ruby/intern.h:47:36: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
void rb_mem_clear(register VALUE*, register long);
^~~~~~~~~
In file included from array_2d.cpp:1:
In file included from ./array_2d.h:7:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/xmmintrin.h:13:
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
__builtin_ia32_emms();
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1/math.h:649:12: note: '__builtin_isless' declared here
return isless(__lcpp_x, __lcpp_y);
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/math.h:545:22: note: expanded from macro 'isless'
#define isless(x, y) __builtin_isless((x),(y))
^
In file included from array_2d.cpp:1:
In file included from ./array_2d.h:7:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/xmmintrin.h:13:
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:33:25: error: too few arguments to function call, expected 2, have 0
__builtin_ia32_emms();
~~~~~~~~~~~~~~~~~~~~^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:50:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:67:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:129:19: error: use of undeclared identifier '__builtin_ia32_packsswb'
return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:159:19: error: use of undeclared identifier '__builtin_ia32_packssdw'
return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:189:19: error: use of undeclared identifier '__builtin_ia32_packuswb'
return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:216:19: error: use of undeclared identifier '__builtin_ia32_punpckhbw'
return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:239:19: error: use of undeclared identifier '__builtin_ia32_punpckhwd'
return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:260:19: error: use of undeclared identifier '__builtin_ia32_punpckhdq'
return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:287:19: error: use of undeclared identifier '__builtin_ia32_punpcklbw'
return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:310:19: error: use of undeclared identifier '__builtin_ia32_punpcklwd'
return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:331:19: error: use of undeclared identifier '__builtin_ia32_punpckldq'
return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:352:19: error: use of undeclared identifier '__builtin_ia32_paddb'; did you mean '__builtin_arm_addg'?
return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:352:19: error: first argument of MTE builtin function must be a pointer ('__v8qi' (vector of 8 'char' values) invalid)
return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
^ ~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:373:19: error: use of undeclared identifier '__builtin_ia32_paddw'; did you mean '__builtin_arm_addg'?
return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:373:19: error: first argument of MTE builtin function must be a pointer ('__v4hi' (vector of 4 'short' values) invalid)
return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
^ ~~~~~~~~~~~~
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:394:19: error: use of undeclared identifier '__builtin_ia32_paddd'; did you mean '__builtin_arm_addg'?
return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:352:19: note: '__builtin_arm_addg' declared here
return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
^
/Library/Developer/CommandLineTools/usr/lib/clang/13.0.0/include/mmintrin.h:394:19: error: first argument of MTE builtin function must be a pointer ('__v2si' (vector of 2 'int' values) invalid)
return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
^ ~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 warnings and 20 errors generated.
make: *** [array_2d.o] Error 1
make failed, exit code 2
Gem files will remain installed in /Users/vikaswadhwa/.gem/ruby/2.5.5/gems/fast_statistics-0.2.1 for inspection.
Results logged to /Users/vikaswadhwa/.gem/ruby/2.5.5/extensions/-darwin-21/2.5.0-static/fast_statistics-0.2.1/gem_make.out
Any thoughts?
Hello,
Looking forward to using this gem! Running into an installation problem, wondering if this is due to ruby version or something I'm missing:
Installing fast_statistics 0.2.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
~/.gem/ruby/2.5.5/gems/fast_statistics-0.2.0/ext/fast_statistics
~/.rubies/ruby-2.5.5/bin/ruby -r
./siteconf20210701-51209-f1beda.rb extconf.rb
checking for xmmintrin.h... yes
creating Makefile
current directory:
~/.gem/ruby/2.5.5/gems/fast_statistics-0.2.0/ext/fast_statistics
make "DESTDIR=" clean
current directory:
~/.gem/ruby/2.5.5/gems/fast_statistics-0.2.0/ext/fast_statistics
make "DESTDIR="
compiling array_2d.cpp
array_2d.cpp:20:12: warning: implicit conversion loses integer precision: 'long'
to 'int' [-Wshorten-64-to-32]
cols = rb_array_len(arrays);
~ ^~~~~~~~~~~~~~~~~~~~
array_2d.cpp:21:12: warning: implicit conversion loses integer precision: 'long'
to 'int' [-Wshorten-64-to-32]
rows = rb_array_len(rb_ary_entry(arrays, 0));
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
compiling fast_statistics.cpp
fast_statistics.cpp:55:40: error: expected expression
static rb_data_type_t dfloat_wrapper = [] {
^
1 error generated.
make: *** [fast_statistics.o] Error 1
make failed, exit code 2
Gem files will remain installed in
~/.gem/ruby/2.5.5/gems/fast_statistics-0.2.0 for inspection.
Results logged to
~/.gem/ruby/2.5.5/extensions/x86_64-darwin-19/2.5.0-static/fast_statistics-0.2.0/gem_make.out
An error occurred while installing fast_statistics (0.2.0), and Bundler
cannot continue.
Make sure that `gem install fast_statistics -v '0.2.0' --source
'https://rubygems.org/'` succeeds before bundling.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.