scientific libreria library for development ruby gem gsl

ruby - libreria - Problemas al instalar gsl gema



install gsl (10)

Instalar ruby ​​GSL:

Ubuntu 11.10 incluye una versión más nueva (1.15) de libgsl0 que no es compatible con ruby ​​/ gsl:

Debe instalar la versión anterior 1.14 para que ruby ​​/ gsl funcione:

curl -O http://mirror.veriportal.com/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

La instalación funciona bien y prueba en Ubuntu y Debian Squeeze:

Fetching: narray-0.6.0.1.gem (100%) Building native extensions. This could take a while... Fetching: gsl-1.14.7.gem (100%) Building native extensions. This could take a while... Successfully installed narray-0.6.0.1 Successfully installed gsl-1.14.7 2 gems installed

Puedo instalar con éxito la biblioteca gsl en mi directorio de inicio, pero cuando intento instalar la gema gsl obtengo una gran lista de errores que no entiendo. Me pregunto si alguien podría darme una idea de por qué podría estar recibiendo esos errores. Puedo decir que tengo:

Gsl instalado con éxito; Al menos eso es lo que parecía. Señalé el camino a gsl-config

Así es como se ve el registro de errores:

Building native extensions. This could take a while... ERROR: Error installing gsl: ERROR: Failed to build gem native extension. /home/ted/ruby-1.9.1/bin/ruby extconf.rb install gsl checking gsl version... 1.15 checking gsl cflags... -I/home/ted/gsl-1.15/include checking for main() in -lcblas... no checking gsl libs... -L/home/ted/gsl-1.15/lib -lgsl -lgslcblas -lm checking for round()... no checking for rngextra/rngextra.h... no checking for qrngextra/qrngextra.h... no checking for ool/ool_version.h... no checking for tensor/tensor.h... no checking for jacobi.h... no checking for gsl/gsl_cqp.h... no checking for gsl/gsl_multimin_fsdf.h... no checking for gsl_poly_solve_quartic() in -lgsl... no checking for gsl_eigen_francis() in -lgsl... no checking for ndlinear/gsl_multifit_ndlinear.h... no checking for alf/alf.h... no checking rb-gsl version...1.14.7 checking ruby version... 1.9.1 checking for graph... no checking for narray.h... yes checking for tamu_anova/tamu_anova.h... no checking for main() in -ltamuanova... no creating Makefile make gcc -I. -I/home/ted/ruby-1.9.1/include/ruby-1.9.1/x86_64-linux -I/home/ted/ruby-1.9.1/include/ruby-1.9.1/ruby/backward -I/home/ted/ruby-1.9.1/include/ruby-1.9.1 -I. -DHAVE_NARRAY_H -I/home/ted/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/narray-0.6.0.1/. -I/home/ted/ruby-1.9.1/lib/ruby/site_ruby/1.9.1/x86_64-linux -fPIC -Wall -I../include -I/home/ted/gsl-1.15/include -o sf_bessel.o -c sf_bessel.c In file included from sf_bessel.c:13: ../include/rb_gsl_sf.h:15:24: error: gsl/gsl_sf.h: No such file or directory ../include/rb_gsl_sf.h:16:27: error: gsl/gsl_errno.h: No such file or directory ../include/rb_gsl_sf.h:17:28: error: gsl/gsl_vector.h: No such file or directory In file included from ../include/rb_gsl_sf.h:18, from sf_bessel.c:13: /home/ted/gsl-1.15/include/gsl/gsl_math.h:23:25: error: gsl/gsl_sys.h: No such file or directory In file included from sf_bessel.c:13: ../include/rb_gsl_sf.h:19:29: error: gsl/gsl_complex.h: No such file or directory In file included from ../include/rb_gsl.h:20, from ../include/rb_gsl_sf.h:21, from sf_bessel.c:13: ../include/rb_gsl_common.h:23:28: error: gsl/gsl_matrix.h: No such file or directory ../include/rb_gsl_common.h:24:33: error: gsl/gsl_permutation.h: No such file or directory ../include/rb_gsl_common.h:25:32: error: gsl/gsl_ieee_utils.h: No such file or directory In file included from ../include/rb_gsl.h:20, from ../include/rb_gsl_sf.h:21, from sf_bessel.c:13: ../include/rb_gsl_common.h:322: warning: type defaults to ‘int’ in declaration of ‘gsl_complex’ ../include/rb_gsl_common.h:322: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token ../include/rb_gsl_common.h:324: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token ../include/rb_gsl_common.h:325: error: expected ‘)’ before ‘*’ token ../include/rb_gsl_common.h:326: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token ../include/rb_gsl_common.h:328: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token ../include/rb_gsl_common.h:329: error: expected ‘)’ before ‘*’ token ../include/rb_gsl_common.h:330: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token ../include/rb_gsl_common.h:340: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ary2complex’ In file included from ../include/rb_gsl.h:21, from ../include/rb_gsl_sf.h:21, from sf_bessel.c:13: ../include/rb_gsl_math.h:24: error: expected ‘)’ before ‘(’ token In file included from ../include/rb_gsl.h:22, from ../include/rb_gsl_sf.h:21, from sf_bessel.c:13: ../include/rb_gsl_complex.h:19:34: error: gsl/gsl_complex_math.h: No such file or directory

...

sf_bessel.c: In function ‘rb_gsl_sf_bessel_zero_J1_e’: sf_bessel.c:643: error: ‘gsl_sf_bessel_zero_J1_e’ undeclared (first use in this function) sf_bessel.c: In function ‘rb_gsl_sf_bessel_zero_Jnu’: sf_bessel.c:648: error: ‘gsl_sf_bessel_zero_Jnu’ undeclared (first use in this function) sf_bessel.c: In function ‘rb_gsl_sf_bessel_zero_Jnu_e’: sf_bessel.c:653: error: ‘gsl_sf_bessel_zero_Jnu_e’ undeclared (first use in this function) make: *** [sf_bessel.o] Error 1 Gem files will remain installed in /home/ted/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/gsl-1.14.7 for inspection. Results logged to /home/ted/ruby-1.9.1/lib/ruby/gems/1.9.1/gems/gsl-1.14.7/ext/gem_make.out


Atención, parece que no funciona con Ruby 2.1.0.

Para Ubuntu 12.04 LTS y Ruby 2.0.0:

cd ~ wget ftp://ftp.gnu.org/gnu/gsl/gsl-1.15.tar.gz tar xvzf gsl-1.15.tar.gz cd gsl-1.15 ./configure make sudo make install

Compruebe si GSL 1.15 está instalado correctamente

gsl-config --version

Luego instale gema (gsl 1.15.3)

gem install gsl


En mi nueva instalación de Mac OS X Yosemite , necesitaba específicamente 1.15.3, y Homebrew no puede obtener eso para mí (no hay ningún brew install gsl115 )

curl ftp://ftp.gnu.org/gnu/gsl/gsl-1.15.tar.gz > gsl-1.15.tar.gz tar xvzf gsl-1.15.tar.gz cd gsl-1.15 ./configure make sudo make install gem install gsl


Esto también funciona en ubuntu 16.04 LTS y ruby ​​2.2.2
sudo apt-get install libgsl0-dev


Para cualquier persona que todavía tenga problemas para instalar esto con el problema gsl_matrix_complex_equal .

Si ha ejecutado brew install gsl cual, a partir de este momento, instalará 1.15 y luego intentó instalar los enlaces de ruby, posiblemente se encontrará con este problema.

El uso de este repositorio como fuente de gema rb-gsl resuelve el problema: https://github.com/30robots/rb-gsl

Sin embargo, si tiene una versión más reciente de rubygems, ese repositorio realiza una llamada al Gem#searcher que es un método obsoleto y ahora eliminado.

Mi repositorio actualiza esa llamada para usar la API de Gem::Specification :::

https://github.com/whistlerbrk/rb-gsl

Así que en resumen:

brew install gsl en OSX

y en tu Gemfile:

gem ''gsl'', :git => ''git://github.com/whistlerbrk/rb-gsl.git''


Para ubuntu 13.10, ruby ​​2.0.0 funciona bien a continuación

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

Atención: Ami Navon escribió-

Debe instalar la versión anterior 1.14 para que ruby ​​/ gsl funcione

No es actual ahora para gsl-1.16 / ruby-2.0.0


Si usted tiene:

  • GSL 1.16 (verifique con gsl-config --version ) (por ejemplo, en Ubuntu 14.04 ),
  • Ruby 2.1

A continuación, intente https://github.com/siefca/rb-gsl ; se ha modificado para dicha configuración.
También debería funcionar con Ruby 1.9 y Ruby 2.0.

Si está utilizando Bundler para administrar gemas en un proyecto, coloque una línea en su Gemfile :

gem ''gsl'', :git => ''git://github.com/siefca/rb-gsl''

¡Aclamaciones!


bajo ubuntu 13.04 esto resuelve el problema:

sudo apt-get install libgsl0-dev

No es necesario instalar manualmente una versión antigua.


en que sistema operativo estas?

primero necesita instalar gsl y gsl-devel RPM en su sistema operativo como root ... por ejemplo, en Fedora Linux:

sudo yum install -y gsl gsl-devel

a continuación, haga la gem install gsl o bundle install

sin el paquete gsl-devel, no encontrará los archivos de cabecera C correctos.

También debe asegurarse de que esos archivos de encabezado estén instalados en una ubicación que esté incluida en LD_LIBRARY_PATH, o que aparezca en /etc/ld.so.conf


lsb_release -a Ubuntu 14.04.1 LTS
ruby --version ruby 2.1.2p95

Importante: instale el paquete de desarrollo gsl ( https://askubuntu.com/a/490475/121418 )
sudo apt-get install libgsl0-dev

Añade esta línea en Gemfile
gem ''rb-gsl''

Instalar gema a través de Terminal
bundle install

Verificar
bundle show rb-gsl
/.rvm/gems/ruby-2.1.2/gems/rb-gsl-1.16.0.4

gsl-config --version
1.15

Use require "gsl" en ruby ​​file si es necesario