Ruby GSL на OS X - рубин

Опитвам се да инсталирам Ruby GSL на OS X 10.9. Използвам Ruby 2.0.0, инсталиран чрез RVM. Според него място, Първо се нуждая от GSL. С това използвах Homebrew, за да инсталирам GSL (brew install gsl). След това го направих gem install gsl, но е получил това съобщение за грешка:

compiling fft.c
fft.c:270:60: warning: implicit conversion loses integer precision: "size_t" (aka "unsigned long") to "int" [-Wshorten-64-to-32]
for (i = 0; i < table->nf; i++) gsl_vector_int_set(v, i, table->factor[i]);
~~~~~~~~~~~~~~~~~~       ^~~~~~~~~~~~~~~~
fft.c:614:18: warning: implicit conversion loses integer precision: "size_t" (aka "unsigned long") to "int" [-Wshorten-64-to-32]
shape[0] = n;
~ ^
fft.c:706:18: warning: implicit conversion loses integer precision: "size_t" (aka "unsigned long") to "int" [-Wshorten-64-to-32]
shape[0] = n;
~ ^
fft.c:773:18: warning: implicit conversion loses integer precision: "size_t" (aka "unsigned long") to "int" [-Wshorten-64-to-32]
shape[0] = n;
~ ^
fft.c:910:48: error: use of undeclared identifier "forward"
rb_define_const(mgsl_fft, "Forward", INT2FIX(forward));
^
/Users/yihangho/.rvm/rubies/ruby-2.0.0-p353/include/ruby-2.0.0/ruby/ruby.h:241:45: note: expanded from macro "INT2FIX"
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
fft.c:911:48: error: use of undeclared identifier "forward"
rb_define_const(mgsl_fft, "FORWARD", INT2FIX(forward));
^
/Users/yihangho/.rvm/rubies/ruby-2.0.0-p353/include/ruby-2.0.0/ruby/ruby.h:241:45: note: expanded from macro "INT2FIX"
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
fft.c:912:49: error: use of undeclared identifier "backward"
rb_define_const(mgsl_fft, "Backward", INT2FIX(backward));
^
/Users/yihangho/.rvm/rubies/ruby-2.0.0-p353/include/ruby-2.0.0/ruby/ruby.h:241:45: note: expanded from macro "INT2FIX"
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
fft.c:913:49: error: use of undeclared identifier "backward"
rb_define_const(mgsl_fft, "BACKWARD", INT2FIX(backward));
^
/Users/yihangho/.rvm/rubies/ruby-2.0.0-p353/include/ruby-2.0.0/ruby/ruby.h:241:45: note: expanded from macro "INT2FIX"
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
4 warnings and 4 errors generated.
make: *** [fft.o] Error 1

Някаква идея как да се определи това?

Отговори:

1 за отговор № 1

Последните версии на GSL вече не включват препратките backward и forward, заменяйки ги с gsl_fft_forward и gsl_fft_backward, и gsl_wavelet_forward и gsl_wavelet_backward.

Опитайте да приложите тази кръпка, която замества старите enums с новата: https://github.com/mvz/rb-gsl-nmatrix/commit/fe7643cd3026690f7de527b2a220c24330a85018