Ubuntu Saucy上的Gsl gem(13.10)

时间:2013-11-06 09:17:38

标签: ruby ubuntu gsl ubuntu-13.10

我正在尝试在Ubuntu Saucy上安装gsl gem

我用

安装了相关的gsl包
sudo apt-get install gsl-bin libgsl0-dev

然后安装gem失败

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

问题与此类似:Problems installing gsl gem

该线程的顶级解决方案不起作用 - gsl 1.14的源包不再可用于该地址。我想这对Saucy的许多用户都很有用。

1 个答案:

答案 0 :(得分:1)

linked问题上的已接受答案在13.10中为我解决了此问题,并进行了一些细微更改。

curl -O  ftp.unicamp.br/pub/gnu/gsl/gsl-1.14.tar.gz 
tar xvzf gsl-1.14.tar.gz
cd gsl-1.14
./configure
make
sudo make install
sudo gem install --conservative --no-ri --no-rdoc gsl

显然,应该小心从“任何FTP服务器”安装软件包:)