ruby-robotの夢

cygwin-ruby,qgisの達人を目指す奮闘記

georubyのバグ?

問題事象

2019年5月頃、cygwin-rubyのバージョンアップ 2.3.6->2.6.3 を実施した。

その影響からか、geo_ruby のshp読み込みができなくなっていた。

 

/usr/share/gems/gems/dbf-4.1.2/lib/dbf/table.rbの中で、以下の定義があるが、

header_length がnilのため、計算できない。というようなことである。

def seek(offset) # :nodoc:
  @data.seek(header_length + offset)
end

解決策?

これを、以下のように書き換えてみた。

def seek(offset) # :nodoc:
  header_length=header.header_length #append
  @data.seek(header_length + offset)
end

これで正しいか、どうか、よくわからないが、今のところ、問題無い。

また、問題があれば、修正することとしよう。

 

R05.08.25加筆

dbf4.2.4 をインストールしたマシンで、同様のことをしても、うまく動かなかった。

仕組みよくわからなかったが、dbf 4.1.2 をインストールしなおせば、うまく動いた。

 

R05.09.14加筆

なんか、gdal のインストールを試みて、うまくいかなかったのが原因か、

動いていたはずの、georubyが無くなっていた。

またgeorubyを入れる。georubyはインストールできたが、

dbfは4.2.4で失敗し、-v 4.1.2にしてももできない。なんだかな~。

 

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /home/USER/bin directory.

こんなエラーは初めてだ。

たしかに、binは、linuxドライブをつないでいて、パーミッションは特殊かも。

で、chmod 777にしてやると、4.1.2をインストールできた。

しかし、動いていたはずのプログラムは動かない。

 

変なもの入れようとしたためか、ライブラリがおかしくなってしまったようだ。

そろそろ、pythonに乗り換えるかな~。

でも、それはそれで大変だよな~。