我试图在Ubuntu Saucy上安装gsl gem
我安装了相关的gsl包
sudo apt-get install gsl-bin libgsl0-dev
但是,安装宝石失败。
In file included from /usr/include/ruby-1.9.1/ruby.h:32:0,
from ../include/rb_gsl_array.h:34,
from wavelet.c:13:
wavelet.c: In function ‘rb_gsl_wavelet_define_const’:
wavelet.c:155:45: error: ‘forward’ undeclared (first use in this function)
rb_define_const(klass, "FORWARD", INT2FIX(forward));
^
/usr/include/ruby-1.9.1/ruby/ruby.h:225:45: note: in definition of macro ‘INT2FIX’
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
wavelet.c:155:45: note: each undeclared identifier is reported only once for each function it appears in
rb_define_const(klass, "FORWARD", INT2FIX(forward));
^
/usr/include/ruby-1.9.1/ruby/ruby.h:225:45: note: in definition of macro ‘INT2FIX’
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
wavelet.c:157:46: error: ‘backward’ undeclared (first use in this function)
rb_define_const(klass, "BACKWARD", INT2FIX(backward));
^
/usr/include/ruby-1.9.1/ruby/ruby.h:225:45: note: in definition of macro ‘INT2FIX’
#define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
^
wavelet.c: In function ‘rb_gsl_wavelet_transform0’:
wavelet.c:194:31: error: ‘forward’ undeclared (first use in this function)
gsl_wavelet_direction dir = forward;
^
wavelet.c: In function ‘rb_gsl_wavelet2d’:
wavelet.c:534:31: error: ‘forward’ undeclared (first use in this function)
gsl_wavelet_direction dir = forward;
^
make: *** [wavelet.o] Error 1
这个问题类似于这个问题:安装gem时遇到的问题
但是,来自该线程的顶级解决方案不起作用--GSL1.14的源包不再在该地址上可用。我想这对使用Saucy的许多用户是有用的。
发布于 2013-12-13 08:51:17
对于ubuntu 13.10,ruby 2.0.0接下来很好-
curl -O http://ftp.unicamp.br/pub/gnu/gsl/gsl-1.16.tar.gz
tar xvzf gsl-1.16.tar.gz
cd gsl-1.16
./configure
make
sudo make install
sudo gem install --conservative --no-ri --no-rdoc gsl
https://askubuntu.com/questions/381111
复制相似问题