Probleme beim installieren von gsl gem
Kann ich erfolgreich installieren, die gsl-Bibliothek in meinem home-Verzeichnis, aber wenn ich versuche zu installieren die gsl gem bekomme ich eine große Liste von Fehlern, die ich nicht verstehe. Ich Frage mich, wenn jemand könnte mir einige Idee warum ich immer diese Fehler. Ich kann sagen, ich habe:
Installiert gsl erfolgreich; zumindest das ist, was es sah aus wie.
Ich zeigte auf den Pfad zu gsl-config
Dies ist, was die Fehler-log sieht wie folgt aus:
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ruby GSL:
Ubuntu 11.10 enthält eine neuere version (1.15) der libgsl0, dass nicht kompatibel mit ruby/gsl :
installieren Müssen ältere version 1.14 für ruby/gsl zu arbeiten:
Installation funktioniert OK und test auf Ubuntu und Debian Squeeze:
brew install gsl114
installieren gsl 1.14 für Siesudo apt-get install libgsl0-dev
und alles wird gut.libgsl0-dev
durch apt-get löst nicht das problem (auf Ubuntu 14.04). Ich habe noch Kompilierungsfehler, wenngem install gsl -v 1.14.7
. Herunterladen und installieren gsl 1.14 funktioniert für mich.welche Betriebssysteme Sie auf?
zuerst müssen Sie installieren
gsl
undgsl-devel
RPMs auf Ihrem System als root...z.B. auf Fedora Linux:
dann tun die
gem install gsl
oderbundle install
ohne die gsl-devel-Paket ist, wird es nicht finden, die richtige C-header-Dateien.
Müssen Sie auch sicherstellen, dass Sie diese header-Dateien werden an einem Ort installiert werden, das enthalten ist in entweder der LD_LIBRARY_PATH oder Einträge in /etc/ld.so.conf
Wenn Sie haben:
gsl-config --version
) (z.B. in Ubuntu 14.04),Dann versuchen https://github.com/siefca/rb-gsl - es ist optimiert für eine solche Konfiguration.
Es sollte auch mit Ruby 1.9 und Ruby 2.0.
Wenn Sie mit den bundler zu verwalten Edelsteine in einem Projekt, dann eine Zeile in deine
Gemfile
:Prost!
Für jemand, der noch kämpft, diese zu installieren, mit der
gsl_matrix_complex_equal
Problem.Wenn du
brew install gsl
das wie des Schreibens installieren 1.15 und dann zu installieren versucht ruby-Bindungen, werden Sie möglicherweise laufen in dieses problem.Mit diesem repo als Ihre rb-gsl Edelstein-Quelle löst das Problem:
https://github.com/30robots/rb-gsl
Jedoch, wenn Sie eine neuere version von rubygems, das repo-ein Aufruf an
Gem#searcher
die ist veraltet und wird nun entfernt-Methode.Meine repo-updates, Aufruf zur Nutzung der
Gem::Specification
API:https://github.com/whistlerbrk/rb-gsl
Also kurz:
brew install gsl
auf OSXund in Ihrem Gemfile:
gem 'gsl', :git => 'git://github.com/whistlerbrk/rb-gsl.git'
unter ubuntu 13.04 das löst das problem:
sudo apt-get install libgsl0-dev
keine Notwendigkeit, manuell installieren Sie eine alte version
Achtung: es scheint nicht die Arbeit mit Ruby 2.1.0.
Ubuntu 12.04 LTS und Ruby 2.0.0:
Überprüfen Sie, ob die GSL 1.15 ist korrekt installiert
Dann installieren gem (gsl 1.15.3)
Auf meiner frischen Installation von Mac OS X Yosemite, ich brauchte speziell 1.15.3 und homebrew kann man das nicht für mich (es gibt keine
brew install gsl115
)Für ubuntu 13.10, ruby 2.0.0 funktioniert weiter-
Achtung:
Ami Navon schrieb-
Installieren müssen ältere version 1.14 für ruby/gsl arbeiten
Es ist nicht die tatsächliche, jetzt für die gsl-1.16/ruby-2.0.0
curl -O http://ftp.unicamp.br/pub/gnu/gsl/gsl-1.15.tar.gz
lsb_release -a
Ubuntu 14.04.1 LTSruby --version
ruby 2.1.2p95Wichtig: Installieren gsl-Entwicklung-Paket (https://askubuntu.com/a/490475/121418)
sudo apt-get install libgsl0-dev
Fügen Sie diese Zeile im Gemfile
gem 'rb-gsl'
Installieren gem via Terminal
bundle install
Überprüfen
bundle show rb-gsl
/.rvm/gems/ruby-2.1.2/Edelsteine/rb-gsl-1.16.0.4
gsl-config --version
1.15
Verwenden
require "gsl"
im ruby-Datei, wenn nötigDies funktioniert auch auf ubuntu 16.04 LTS und ruby 2.2.2
sudo apt-get install libgsl0-dev