Problèmes d'installation gsl gem

je peux installer avec succès la bibliothèque gsl dans mon répertoire d'origine, mais quand j'essaie d'installer le gem gsl j'obtiens une grande liste d'erreurs que je ne comprends pas. Je me demande si quelqu'un pourrait me donner une idée de pourquoi je pourrais avoir ces erreurs. Je peux dire que j'ai:

installé gsl avec succès; du moins c'est ce à quoi il ressemblait. J'ai indiqué le chemin de la gsl-config

voici à quoi ressemble le journal des erreurs:

  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
21
demandé sur Flethuseo 2011-09-11 20:47:26

10 réponses

Install ruby GSL:

Ubuntu 11.10 inclut une nouvelle version (1.15) de libgsl0 qui n'est pas compatible avec ruby/gsl :

Devez installer l'ancienne version 1.14 pour ruby/gsl:

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

L'Installation fonctionne bien et teste Ubuntu et 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
20
répondu Ami Navon 2012-08-19 20:02:51

sur quel OS êtes-vous?

vous devez d'abord installer gsl et gsl-devel RPMs sur votre système D'exploitation en tant que root... par exemple, sur Linux Fedora:

sudo yum install -y gsl gsl-devel

alors faites le gem install gsl ou bundle install

sans le paquet gsl-devel, il ne trouvera pas les bons fichiers C-header.

vous devez également vous assurer que ces fichiers d'en-tête sont installés dans un emplacement qui est inclus dans LD_LIBRARY_PATH, ou qui est listé dans /etc/ld.alors?conf

8
répondu Tilo 2012-12-08 18:38:48

Si vous avez:

  • GSL 1.16 (cochez gsl-config --version) (par exemple dans Ubuntu 14.04),
  • Ruby 2.1

Ensuite, essayez https://github.com/siefca/rb-gsl -- c'est tordu pour une telle configuration.

Il devrait également fonctionner avec Ruby 1.9 et Ruby 2.0.

si vous utilisez bundler pour gérer des gemmes dans un projet alors mettez une ligne dans votre Gemfile:

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

Cheers!

7
répondu siefca 2014-06-29 00:28:00

Pour ceux qui sont encore en difficulté pour installer ce avec l' gsl_matrix_complex_equal problème.

si vous avez couru brew install gsl qui installera 1.15 puis tentera d'installer les fixations ruby, vous risquez de rencontrer ce problème.

L'utilisation de ce rapport comme votre source de gem rb-gsl résout le problème: https://github.com/30robots/rb-gsl

Toutefois, si vous avez une version récente de rubygems, qui repo fait un appel à Gem#searcher qui est un méthode dépréciée et maintenant supprimée.

Mon repo mises à jour d'appel pour utiliser le Gem::Specification API:

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

Donc en bref:

brew install gsl on OSX

et dans votre Gemfile:

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

5
répondu whistler 2013-02-26 19:31:03

sous ubuntu 13.04 cela résout le problème:

sudo apt-get install libgsl0-dev

pas besoin d'installer une ancienne version

5
répondu Dominik Goltermann 2013-06-28 09:37:21

Attention il semble ne pas fonctionner avec Ruby 2.1.0.

Pour Ubuntu 12.04 LTS et 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

vérifiez si GSL 1.15 est correctement installé

gsl-config --version

puis installer gem (gsl 1.15.3)

gem install gsl
2
répondu Anthony Geiser 2014-01-20 12:38:19

Sur ma nouvelle installation de Mac OS X Yosemite j'ai besoin spécifiquement 1.15.3, et homebrew ne pouvez pas obtenir que pour moi (il n'y a pas de 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
2
répondu Alien Life Form 2015-08-19 04:40:54

Pour ubuntu 13.10, ruby 2.0.0 fonctionne très bien à la prochaine

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

Attention: Ami Navon a écrit-

Devez installer l'ancienne version 1.14 pour ruby/gsl de travail

Il n'est pas d'actualité pour la gsl-1.16/ruby 2.0.0

1
répondu Vasia Pupkin 2013-12-13 08:38:32

lsb_release -a Ubuntu 14.04.1 LTS

ruby --version ruby 2.1.2p95


Important: Installer gsl développement paquet (https://askubuntu.com/a/490475/121418)

sudo apt-get install libgsl0-dev

ajouter cette ligne dans Gemfile

gem 'rb-gsl'

installer gem via Terminal

bundle install


Vérifier

bundle show rb-gsl

/.rvm/gems / ruby-2.1.2 / gems/rb-gsl-1.16.0.4

gsl-config --version

1,15


Utiliser require "gsl" dans le fichier ruby si nécessaire

1
répondu Ivan Chau 2017-04-13 12:22:47

cela fonctionne aussi sur ubuntu 16.04 LTS et ruby 2.2.2

sudo apt-get install libgsl0-dev

1
répondu H.B 2018-04-25 20:03:09