[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:003814] Re: Rubyパッケージ



大塚です。

遅ればせながら numru-units 1.8 を使ってみました。

GPhys で GrADS 形式のファイルを読んだところ、以下のようなエラーが
出ましたので報告します。
テストコードとテストデータを添付します。

ruby 2.0.0p353 と 2.2.0p0 で確認しましたが、同じエラーが出ました。
以前の units ではエラーにならなかったと思います。
GPhys は 1.4.1 です。

時間の単位の所で問題が起こっているようですが、
それ以上はまだ確認していません。

よろしくお願いいたします。

otsuka@hakushu:~> ruby test.rb
/home/otsuka/ruby200/lib/ruby/2.0.0/racc/parser.rb:529:in `on_error':
(Racc::ParseError)
parse error on value "Z" (NAME)
	from /home/otsuka/ruby200/lib/ruby/2.0.0/racc/parser.rb:258:in
`_racc_do_parse_c'
	from /home/otsuka/ruby200/lib/ruby/2.0.0/racc/parser.rb:258:in `do_parse'
	from units.racc:2466:in `do_parse2'
	from units.racc:2471:in `ptree'
	from units.racc:2661:in `binop'
	from units.racc:2674:in `/'
	from units.racc:2713:in `=~'
	from
/home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/axis.rb:642:in
`[]'
	from
/home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/grid.rb:515:in
`block in []'
	from
/home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/grid.rb:514:in
`each'
	from
/home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/grid.rb:514:in
`[]'
	from
/home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/gphys.rb:665:in `[]'
	from test.rb:4:in `<main>'
otsuka@hakushu:~> ruby -v
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]


On 2015/01/13 10:52, Takeshi Horinouchi wrote:
> 神代さま
> 
> 確認ありがとうございました。
> 
>> ただ, units.rb の最後にも同じテストが入っているはずですが,
> 
> test.rb が取り込まれるんですね。意識してなかったので,
> test.rb 更新後に再生成しませんでした。まあ test.rb の
> ほうが通るのでいいことにします。(次のリリースのときには
> 取り込まれるでしょう。)
> 
>> 神代です.
>>
>> ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
>> ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]
>>
>> にて, src/test.rb で確認しました. 大丈夫です.
>>
>> ただ, units.rb の最後にも同じテストが入っているはずですが,
>> なぜか答が間違っている古い状態になっているようで,
>>
>> % ruby units.rb
>>
>> のほうは失敗しました.
>>
>> よろしくお願いします.
>>
>> --
>> 神代 剛 (こうしろ つよし)
>> 気象研究所気候研究部第四研究室 支援研究員
>>
>>
>> At Mon, 12 Jan 2015 18:57:18 +0900,
>> Takeshi Horinouchi wrote:
>>>
>>> 堀之内です。
>>>
>>> パッチを取り込んで ver. 1.8 をリリースしました:
>>> https://www.gfd-dennou.org/library/ruby/products/numru-units/
>>>
>>> パッチを見てわかったのですが,本質的な問題は racc のルールの
>>> とある一行なんですですね。
>>>
>>> 参考まで,パッチでは units.racc  が変更されていましたが,
>>> units.racc は make で生成されるので,オリジナルファイル(rules.rb)
>>> を変更しました。units.rb も,racc コマンドで生成される
>>> ものですのでパッチ不要でした。保守的に ruby 1.8 を使って
>>> 生成し,ruby 2.1 でもテストが通るのを確認しました。ruby 2.2
>>> でも大丈夫でしょうか。> 神代さま。
>>>
>>> ruby 1.6 対応部分の削除はそれでいいです(取り込みました)。
>>> もともと ruby 本体の保守の関係上サポートしませんので。
>>>
>>>> 西澤さま:
>>>>
>>>> 神代です.
>>>>
>>>> 僕も最近困っていたので, さっそく試してみました.
>>>>
>>>> こちらでは
>>>>
>>>> ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
>>>> ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]
>>>>
>>>> でうまくいっています. ありがとうございます.
>>>>
>>>> 以下, たいしたことではないですが,
>>>>
>>>> numru-units-1.7.tar.gz にパッチをあててやってみました.
>>>> この場合,
>>>> % ruby install.rb
>>>> でインストールしますが, install.rb が古いため失敗してしまうので,
>>>> こいつでも ruby 1.6 を切り捨てる修正をしました.
>>>> あと, 修正版の src/units.rb が lib/numru/units.rb にコピーされ
>>>> てなかったので, そのままだと古いままになってしまうので,
>>>> % cp -p src/units.rb lib/numru/
>>>> をしました.
>>>> ここまでやった状態を numru-units-1.7-ruby2.2.0.patch としました
>>>> ので, ご利用ください.
>>>>
>>>> --
>>>> 神代 剛 (こうしろ つよし)
>>>> 気象研究所気候研究部第四研究室 支援研究員
>>>>
>>>>
>>>> At Tue, 06 Jan 2015 01:59:21 +0000,
>>>> Seiya Nishizawa wrote:
>>>>>
>>>>> 西澤です
>>>>>
>>>>> 周りに ruby 2.1 が増えてきて、numru-units が動かないのが不便なので、対
>>>>> 応してみました。
>>>>>
>>>>> 試した環境は
>>>>> ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
>>>>> ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
>>>>> です。
>>>>> ruby 1.6 は切り捨てることにしました
>>>>>
>>>>> racc 1.4.5 で作ったので、もしかすると環境によっては動かないところがあ
>>>>> るかもしれませんので、
>>>>> テストしていただければと思います。
>>>>>
>>>>> よろしくお願いします。
>>>>>
>>>>> 西澤誠也
>>>>>
>>>>> On Sat Dec 27 2014 at 16:44:06 Takeshi Horinouchi
>>>>> <horinout@xxxxxxxxxxxxxxxxx> wrote:
>>>>>
>>>>>      堀之内です。
>>>>>      
>>>>>      > 確か ruby 2.0 じゃないと numru-units が動かないと思います。
>>>>>      
>>>>>      Ruby 2.1 では numru-units が利用する racc の振る舞いが
>>>>>      変わっててうまく動きません
>>>>>      ([dennou-ruby:003720] numru-units on ruby 2.1 のスレッド)。
>>>>>      これは未究明です。2.2 で自然解決してればいいんですが,
>>>>>      試してません。
>>>>>      
>>>>>      # racc はよくわかってなくて私が調査しても難航しそうで...
>>>>>      
>>>>>      > 大塚です。
>>>>>      >
>>>>>      > 確か ruby 2.0 じゃないと numru-units が動かないと思います。
>>>>>      > この問題、解決しましたっけ?
>>>>>      
>>>>>      
>>>>
>>>
>>> 堀之内 武
>>> 北海道大学 地球環境科学研究院 地球圏科学部門
>>> 〒060-0810 札幌市北区北10条西5丁目
>>>
>>>
> 
> 堀之内 武
> 北海道大学 地球環境科学研究院 地球圏科学部門
> 〒060-0810 札幌市北区北10条西5丁目
> 
> 


-- 
大塚成徳 (Shigenori OTSUKA)
独立行政法人理化学研究所 計算科学研究機構(AICS)
データ同化研究チーム
〒650-0047兵庫県神戸市中央区港島南町7-1-26
電話078-940-5814
shigenori.otsuka@xxxxxxxx
require "numru/ggraph"
include NumRu
g = GPhys::IO.open("hoge.ctl", "var")
g[false, 0].val
DSET ^hoge.bin
TITLE test
options little_endian template
undef -9.99e+08
XDEF 10 LINEAR 1 1
YDEF 10 LINEAR 1 1
ZDEF 10 LINEAR 1 1
TDEF 10 LINEAR 01JAN2015 1yr
VARS 1
var 10 99 test data m/s
ENDVARS

Attachment: hoge.bin
Description: Binary data