Debian etchではてなグラフをアップデートできるようになるまでのトラブル。
全AMEDAS観測地点対応!はてなグラフ降水量・気温ポストRubyスクリプト - 別館 子子子子子子(ねこのここねこ)
まずrubygems用にパスを通しておく。
ログインする度に設定するのは面倒だ, という人は ~/.bashrc 等に記述しておくと良いでしょう.
export PATH=/var/lib/gems/1.8/bin:$PATH
degas@debian:~/Ruby/amedas$ ruby -Ku postHatenaGraph….rb /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- hpricot_scan (LoadError) (後略)
google:gem_original_require hpricot_scan
として見つけた
- aki note » hpricot_scan がない
http://www.ikomaru.com/aki_note/?p=1840
のコメントを参考に,$ cd /var/lib/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan/
$ ruby extconf.rb
$ make
$ sudo make install
に倣ってmakeしてみる…
degas@debian:/var/lib/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan$ make -bash: make: command not found degas@debian:/var/lib/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan$ sudo make sudo: make: command not found
?makeが入ってない?
degas@debian:/var/lib/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan$ which make
ないな…。
degas@debian:~$ sudo aptitude install make パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 タグのデータベースを構築しています... 完了 以下の新規パッケージがインストールされます: make 更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。 382kB のアーカイブを取得する必要があります。展開後に 1610kB のディスク領域が新たに消費されます。 拡張状態情報を書き込んでいます... 完了 取得:1 http://cdn.debian.or.jp etch/main make 3.81-2 [382kB] 382kB を 3s 秒でダウンロードしました (122kB/s) 未選択パッケージ make を選択しています。 (データベースを読み込んでいます ... 現在 51802 個のファイルとディレクトリがインストールされています。) (.../archives/make_3.81-2_i386.deb から) make を展開しています... make (3.81-2) を設定しています ...
当然ながらgccも入ってない。
degas@debian:~$ sudo aptitude install gcc パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 タグのデータベースを構築しています... 完了 以下の新規パッケージが自動的にインストールされます: binutils cpp cpp-4.1 gcc-4.1 libc6-dev libmudflap0 libmudflap0-dev libssp0 linux-kernel-headers 以下の新規パッケージがインストールされます: binutils cpp cpp-4.1 gcc gcc-4.1 libc6-dev libmudflap0 libmudflap0-dev libssp0 linux-kernel-headers 更新: 0 個、新規インストール: 10 個、削除: 0 個、保留: 0 個。 10.4MB のアーカイブを取得する必要があります。展開後に 37.2MB のディスク領域が新たに消費されます。 続けますか? [Y/n/?] y 拡張状態情報を書き込んでいます... 完了 取得:1 http://cdn.debian.or.jp etch/main binutils 2.17-3 [2605kB] 取得:2 http://cdn.debian.or.jp etch/main cpp-4.1 4.1.1-21 [2331kB] 取得:3 http://cdn.debian.or.jp etch/main cpp 4:4.1.1-15 [11.6kB] 取得:4 http://cdn.debian.or.jp etch/main libssp0 4.1.1-21 [4492B] 取得:5 http://cdn.debian.or.jp etch/main gcc-4.1 4.1.1-21 [461kB] 取得:6 http://cdn.debian.or.jp etch/main gcc 4:4.1.1-15 [5052B] 取得:7 http://cdn.debian.or.jp etch/main linux-kernel-headers 2.6.18-7 [1875kB] 取得:8 http://cdn.debian.or.jp etch/main libc6-dev 2.3.6.ds1-13etch7 [2718kB] 取得:9 http://cdn.debian.or.jp etch/main libmudflap0 4.1.1-21 [169kB] 取得:10 http://cdn.debian.or.jp etch/main libmudflap0-dev 4.1.1-21 [197kB] 10.4MB を 32s 秒でダウンロードしました (317kB/s) 未選択パッケージ binutils を選択しています。 (データベースを読み込んでいます ... 現在 51836 個のファイルとディレクトリがインストールされています。) (.../binutils_2.17-3_i386.deb から) binutils を展開しています... 未選択パッケージ cpp-4.1 を選択しています。 (.../cpp-4.1_4.1.1-21_i386.deb から) cpp-4.1 を展開しています... 未選択パッケージ cpp を選択しています。 (.../cpp_4%3a4.1.1-15_i386.deb から) cpp を展開しています... 未選択パッケージ libssp0 を選択しています。 (.../libssp0_4.1.1-21_i386.deb から) libssp0 を展開しています... 未選択パッケージ gcc-4.1 を選択しています。 (.../gcc-4.1_4.1.1-21_i386.deb から) gcc-4.1 を展開しています... 未選択パッケージ gcc を選択しています。 (.../gcc_4%3a4.1.1-15_i386.deb から) gcc を展開しています... 未選択パッケージ linux-kernel-headers を選択しています。 (.../linux-kernel-headers_2.6.18-7_i386.deb から) linux-kernel-headers を展開しています... 未選択パッケージ libc6-dev を選択しています。 (.../libc6-dev_2.3.6.ds1-13etch7_i386.deb から) libc6-dev を展開しています... 未選択パッケージ libmudflap0 を選択しています。 (.../libmudflap0_4.1.1-21_i386.deb から) libmudflap0 を展開しています... 未選択パッケージ libmudflap0-dev を選択しています。 (.../libmudflap0-dev_4.1.1-21_i386.deb から) libmudflap0-dev を展開しています... binutils (2.17-3) を設定しています ... cpp-4.1 (4.1.1-21) を設定しています ... cpp (4.1.1-15) を設定しています ... libssp0 (4.1.1-21) を設定しています ... gcc-4.1 (4.1.1-21) を設定しています ... gcc (4.1.1-15) を設定しています ... linux-kernel-headers (2.6.18-7) を設定しています ... libc6-dev (2.3.6.ds1-13etch7) を設定しています ... libmudflap0 (4.1.1-21) を設定しています ... libmudflap0-dev (4.1.1-21) を設定しています ...
ということで、/var/lib/gems/1.8/gems/hpricot-0.6/ext/hpricot_scanにてsudo ruby extconf.rbした後にmakeとmake installしてみる。
degas@debian:/var/lib/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan$ sudo make gcc -I. -I. -I/usr/lib/ruby/1.8/i486-linux -I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -c hpricot_scan.c ext/hpricot_scan/hpricot_scan.rl: In function ‘hpricot_scan’: ext/hpricot_scan/hpricot_scan.rl:253: warning: control reaches end of non-void function gcc -shared -rdynamic -Wl,-export-dynamic -L"/usr/lib" -o hpricot_scan.so hpricot_scan.o -lruby1.8 -lpthread -ldl -lcrypt -lm -lc degas@debian:/var/lib/gems/1.8/gems/hpricot-0.6/ext/hpricot_scan$ sudo make install /usr/bin/install -c -m 0755 hpricot_scan.so /usr/local/lib/site_ruby/1.8/i486-linux
これで動きました^_^。