斎藤さん,わざわざ調べていただきありがとうございます。

graph コマンドが実行できるのでおかしいと思っていましたが,インストールの

順序に問題があったわけですね。

先に plotutils をインストールしてから, gem で gsl を入れるという順序で

いくべきということで plotutils はすでにインストールされているので,

gem uninstall gsl

gem install gsl

としただけで,スクリプトが走ってグラフが生成できました。ありがとうございま

す。勉強になりました。

小波秀雄



On 2017年03月31日 09:47, Tadashi Saito wrote:
> 斎藤と申します。
>
> 調べてみました。結論からすると、スクリプト実行時ではなく、
> gsl gemをビルド・インストールする「前に」plotutil
> (具体的にはgraphコマンド)をインストールする必要がありそうです。
>
> エラーメッセージが出たのはこの辺りだと思うのですが、
> https://github.com/SciRuby/rb-gsl/blob/master/ext/gsl_native/graph.c#L1225
> これを出さないためには HAVE_GNU_GRAPH がdefineされてる必要が
> あります。それでどういう条件でdefineされてるか、extconfを見ると
> https://github.com/SciRuby/rb-gsl/blob/master/ext/gsl_native/extconf.rb#L146
> とあり、どうもビルド時にgraph(1)がないとコンパイルされるコードが
> 変わってしまうのだな、というのが分かります。
>
> しかし(エラーメッセージと相まって)他にもハマる人が出そう
> なので、
>
> ・エラーメッセージに "when built" とかを足す(楽なコース)
> ・graphコマンドのチェックをビルド時でなく実行時に移動させる
>  (本質的なコース)
>
> というようなPull Requestを送ると、みんな幸せになれて良いのでは
> ないか、と感じました。
>
> 2017年3月30日(木) 14:10 konami <konami / kyoto-wu.ac.jp 
> <mailto:konami / kyoto-wu.ac.jp>>:
>
>     小波です。
>
>     Bootstrap という 多数回のサンプリングを繰り返す統計計算があり,
>     それを Ruby/GSL でやってみようと思ってこの間から格闘しています。
>
>     その中で,ヒストグラム作成の処理のために Histogram
>     クラスを利用しようと
>     次のソースを走らせてみましたが,その下のようなエラーを吐いてしまいます。
>     ------------------------------------------------------
>     #! /usr/bin/env ruby
>     require "gsl"
>     include GSL
>     N = 10000
>     MAX = 8
>     rng = Rng.alloc
>
>     data = Ran.gaussian(rng, 1.5, N) + 2
>     h = Histogram.alloc(100, [-MAX, MAX])
>     h.increment(data)
>
>     sigma, mean, height, = h.fit_gaussian
>     x = Vector.linspace(-MAX, MAX, 100)
>     y = height*Ran::gaussian_pdf(x-mean, sigma)
>     GSL::graph(h, [x, y], "-T X -C -g 3")
>     #出典:
>     #http://blackwinter.github.io/rb-gsl/rdoc/hist_rdoc.html
>     ---------------------------------------------------
>
>     ./gsltest.rb:15:in `graph': GNU plotutils required (NoMethodError)
>          from ./gsltest.rb:15:in `<main>'
>
>     ちなみ, plotutils, lipplot-dev はインストールされています。
>     何かヒントをいただけると幸いです。
>
>     小波秀雄
>
> -- 
> 斎藤 匡