2012-04-25 36 views
2

我嘗試爲Ruby安裝gsl gem,但它不起作用。我有一個matrix_complex.o錯誤。 那麼是否有解決方案來安裝netbeans的gsl? 或者在其他庫中是否存在函數分位數? 任何幫助,將不勝感激。我安裝gsl時出現錯誤(使用netbeans)

[email protected]:~$ sudo gem install -v=1.14.7 gsl 
Building native extensions. This could take a while... 
ERROR: Error installing gsl: 
ERROR: Failed to build gem native extension. 
    /usr/bin/ruby1.8 extconf.rb 
checking gsl version... 1.15 
checking gsl cflags... -I/usr/include 
checking for main() in -lcblas... no 
checking gsl libs... -L/usr/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... yes 
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.8.7 
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. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems /narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux  -D_FILE_OFFSET_BITS=64 -fPIC  -Wall -I../include -I/usr/include -c sf_debye.c 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems /narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c histogram.c 
histogram.c: In function ‘rb_gsl_histogram_fit_exponential’: 
histogram.c:1029:24: attention : variable ‘hh’ set but not used [-Wunused-but-set-variable] 
histogram.c: In function ‘rb_gsl_histogram_fit_power’: 
histogram.c:1079:24: attention : variable ‘hh’ set but not used [-Wunused-but-set-variable] 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c eigen.c 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c histogram_oper.c 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c signal.c 
signal.c: In function ‘rb_gsl_fft_conv_corr’: 
signal.c:108:28: attention : variable ‘stride3’ set but not used [-Wunused-but-set-variable] 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c graph.c 
graph.c:974:13: attention : ‘gsl_graph_set_command’ defined but not used [-Wunused-function] 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c sf_zeta.c 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c sf_elljac.c 
sf_elljac.c: In function ‘rb_gsl_sf_elljac_e’: 
sf_elljac.c:18:7: attention : variable ‘status’ set but not used [-Wunused-but-set-variable] 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c ieee.c 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c array_complex.c 
array_complex.c: In function ‘rb_gsl_complex_arithmetics5’: 
array_complex.c:34:9: attention : variable ‘func3’ set but not used [-Wunused-but-set-variable] 
array_complex.c:33:9: attention : variable ‘func2’ set but not used [-Wunused-but-set-variable] 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c histogram3d_source.c 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c vector_double.c 
vector_double.c: In function ‘rb_gsl_vector_normalize_bang’: 
vector_double.c:872:10: attention : variable ‘mean’ set but not used [-Wunused-but-set-variable] 
vector_double.c: Hors de toute fonction : 
vector_double.c:692:13: attention : ‘draw_hist’ defined but not used [-Wunused-function] 
vector_double.c:624:13: attention : ‘draw_vector’ defined but not used [-Wunused-function] 
vector_double.c:634:13: attention : ‘draw_vector2’ defined but not used [-Wunused-function] 
vector_double.c:704:13: attention : ‘draw_vector_array’ defined but not used [-Wunused-function] 
vector_double.c:679:13: attention : ‘draw_narray’ defined but not used [-Wunused-function] 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c const.c 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c block.c 
In file included from block.c:29:0: 
block_source.c: In function ‘rb_gsl_block_compare’: 
block_source.c:550:7: attention : variable ‘status’ set but not used [-Wunused-but-set-variable] 
In file included from block.c:35:0: 
block_source.c: In function ‘rb_gsl_block_int_compare’: 
block_source.c:550:7: attention : variable ‘status’ set but not used [-Wunused-but-set-variable] 
In file included from block.c:41:0: 
block_source.c: In function ‘rb_gsl_block_uchar_compare’: 
block_source.c:550:7: attention : variable ‘status’ set but not used [-Wunused-but-set-variable] 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c sf_dawson.c 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c fcmp.c 
gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DHAVE_NARRAY_H -I/var/lib/gems/1.8/gems/narray-0.6.0.1/. -I/usr/local/lib/site_ruby/1.8/i686-linux -D_FILE_OFFSET_BITS=64 -fPIC -Wall -I../include -I/usr/include -c matrix_complex.c 
matrix_complex.c: In function ‘rb_gsl_matrix_complex_eye’: 
matrix_complex.c:202:19: attention : variable ‘p’ set but not used [-Wunused-but-set-variable] 
matrix_complex.c: In function ‘rb_gsl_matrix_complex_set_row’: 
matrix_complex.c:410:19: attention : variable ‘pz’ set but not used [-Wunused-but-set-variable] 
matrix_complex.c: In function ‘rb_gsl_matrix_complex_set_col’: 
matrix_complex.c:436:19: attention : variable ‘pz’ set but not used [-Wunused-but-set-variable] 
matrix_complex.c: In function ‘rb_gsl_matrix_complex_inspect’: 
matrix_complex.c:654:3: attention : format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘size_t’ [-Wformat] 
matrix_complex.c:654:3: attention : format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘size_t’ [-Wformat] 
matrix_complex.c: Hors de toute fonction : 
matrix_complex.c:1523:12: erreur: conflicting types for ‘gsl_matrix_complex_equal’ 
/usr/include/gsl/gsl_matrix_complex_double.h:227:5: note: previous declaration of  ‘gsl_matrix_complex_equal’ was here 
make: *** [matrix_complex.o] Erreur 1 


Gem files will remain installed in /var/lib/gems/1.8/gems/gsl-1.14.7 for inspection. 
Results logged to /var/lib/gems/1.8/gems/gsl-1.14.7/ext/gem_make.out 
[email protected]:~$ 
+1

這與NetBeans有什麼關係? – 2012-05-05 23:00:00

回答

3

充分利用https://github.com/romanbsd/rb-gsl/issues/2一些端倪我做了Ubuntu的以下內容:

卸載我現有的GSL:

sudo apt-get remove gsl-bin libgsl0-dev libgsl0ldbl 

建立了一個新GSL

wget ftp.gnu.org/gnu/gsl/gsl-1.14.tar.gz 
tar xf gsl-1.14.tar.gz 
cd gsl-1.14 
./configure 
make 
sudo make install 

安裝寶石

gem install gsl 

這對我有效。

+0

感謝您的貢獻! – 2012-06-26 09:31:32

+0

嗨,那裏。你有任何想法,在Mac上做同樣的事情。我嘗試了上面的命令,但它不起作用。謝謝。 – Mike22LFC 2016-02-07 23:32:04

0

上述答案的工作原理可以簡單地使用GSL和ruby綁定(rb-gsl)的版本〜1.14。

但是,如果你已經安裝了通過自制軟件(brew install gsl)GSL或寧願1.15版則可以選擇指定以下回購在Gemfile爲Ruby綁定:

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

這是基於關閉的:

https://github.com/30robots/rb-gsl/

這對gsl_matrix補丁和第一回購也有一個補丁較新版本的rubygems。