cpan2rpmでのインストール時エラーの対処方法

こちらのサイトを参考にさせてもらいながらcpan2rpmでインストールしたけどいくつか問題があったので対処方法をメモ。

『Perlモジュールパッケージ管理システム導入(cpan2rpm)』

ちなみに、CentOS5.5でcpan2rpmのバージョンは2.028-1。

まず普通にインストールしようとしてみる。

# cpan2rpm --install URI::Find

すると以下のエラー。

-- cpan2rpm - Ver: 2.028 --
Upgrade check
Fetch: HTTP

-- module: URI::Find --
Using cached URL: http://search.cpan.org//CPAN/authors/id/M/MS/MSCHWERN/URI-Find-20100505.tar.gz
Tarball found - not fetching
Metadata retrieval
Tarball extraction: [/usr/src/redhat/SOURCES/URI-Find-20100505.tar.gz]
Module::Build unloadable
 Can't locate Module/Build.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 22) line 2.
BEGIN failed--compilation aborted at (eval 22) line 2.
-- Done --

なんか、「Module::Build unloadable」って言われてるので、perl-Module-Buildを入れてみる。
rpmforgeをyumに登録してあれば以下のコマンドでOK

# yum install perl-Module-Build

再度インストールしようとしてみる。

# cpan2rpm --install URI::Find

また、エラー。

-- cpan2rpm - Ver: 2.028 --
Upgrade check
Fetch: HTTP

-- module: URI::Find --
Using cached URL: http://search.cpan.org//CPAN/authors/id/M/MS/MSCHWERN/URI-Find-20100505.tar.gz
Tarball found - not fetching
Metadata retrieval
Tarball extraction: [/usr/src/redhat/SOURCES/URI-Find-20100505.tar.gz]
No version found, please use --version option.  Stopped at /usr/bin/cpan2rpm line 580.
-- Done --

「please use --version option」って言われてるので試してみる。

# cpan2rpm --version 20100505 URI::Find

またまたエラー。

-- cpan2rpm - Ver: 2.028 --
Upgrade check
Fetch: HTTP

-- module: URI::Find --
Using cached URL: http://search.cpan.org//CPAN/authors/id/M/MS/MSCHWERN/URI-Find-20100505.tar.gz
Tarball found - not fetching
Metadata retrieval
Tarball extraction: [/usr/src/redhat/SOURCES/URI-Find-20100505.tar.gz]
Generating spec file
SPEC: /usr/src/redhat/SPECS/URI-Find.spec
Generating package
Signing package (pass phrase required)
エラー: マクロファイル内で "%_gpg_name" を設定しなければなりません。
パスフレーズのチェックに失敗しました。
RPM build failed [1] at /usr/bin/cpan2rpm line 1052.
-- Done --

根本解決にはなってないかもしれないけど、とりあえず--no-signオプションをつけてみる。

# cpan2rpm --version 20100505 --no-sign URI::Find

ようやくインストール成功!

httpd.confで構文エラーとなった場合の対応方法

apacheの設定ファイルで構文エラーとなり、ちょっとハマったのでメモ。

次のコマンドで構文チェックを行う。

apachectl -t

すると、構文エラーの行数とエラー内容が表示される。

Syntax error on line 388 of /etc/httpd/conf/httpd.conf:
unknown order

あとはviエディタなどでhttpd.confを開き問題の行を修正すればOK。
viエディタであれば「388G」でジャンプできる。(数値は行)

Mac Book AirとXperiaでBluetooth通信

受信したiモードメールをPCでごにょごにょしたかったのですが、
iモード.netがひどく使えなかったので、他のやり方を試してみました。
ちなみにドコモwebメールという手段もあると思いますが、
アカウント等を忘れてしまって探すのも面倒だったので除外しました。


普段はXperiaを使用しており、IMoNiでiモードメールを受信しています。
このIMoNiで受信したメールをMac Book AirBluetoothで送信します。

Mac Book Airの設定

  1. 「システム環境設定」→「インターネットとワイヤレス」→「共有」を選択する。
  2. Bluetooth共有」にチェックを入れる。オプション項目はお好みで設定。

Xperiaでの手順

  1. Xperiaに「Bluetooth File Transfer」というアプリ(フリー)をインストールする。
  2. IMoNiで受信したメールを開く。
  3. メニューキーを押下し、「共有」をタッチする。
  4. リストに「Bluetoothで送信」が表示されるので、これをタッチする。
  5. Bluetoothがオフになっている場合は、オンにするか尋ねられるのでOKをタッチ。
  6. 初回の場合はメニューキーを押下し、「デバイス検索」をタッチする。
  7. 近くにあるデバイスが「見つかったデバイス」に表示するので対象のデバイスをタッチする。
    (2回目以降は「最近のデバイス」や「キャッシュ」に表示されているのでデバイス検索は不要)
  8. Mac Book Airにダイアログ「ファイル転送の受信」が表示された場合は受信ボタンをクリック。
    (面倒な場合は前述のBluetooth共有のオプション項目で設定)
  9. 受信したファイルはBluetooth共有のオプション項目「許可された項目の保存先フォルダ」で設定したフォルダに保存される。

MacBookAirの感想とか

ちょっと前のことになりますが、Mac Book Airを買いました!
色々と情報を提供して頂いた方々、ありがとうございました。
せっかくなので感想などを書こうと思います。
と言っても、まだまだ使いこなせていないので、ほぼ第一印象みたいなものです。

起動時間

たしかに早いです。ちゃんとは計測していませんが、10〜20秒くらいじゃないですかね。
ただ、時間とは関係ないですし、大したことではないと思いますが、
デスクトップ(?)が表示される前に水色の画面が表示されるのところがWindowsっぽくて「ちょっとな・・・」と思います。

薄さ&軽さ

はい、これもたしかに薄くて軽いです。一番厚い部分でもスマートフォンXperiaよりちょっと薄いくらいです。
前はTOSHIBAのノートPCを使っていたのですが、その1/2〜1/3くらいの重さだと思います。
そして、これがとっても大事だと思うのですが、
実際に使っている最中にも薄さが実感できるんですね。
机と手の間に何もないような?直接机をタイプしているような?
すみません、ちょっと誇張しすぎてしまいました。。。
でも、薄さを実感できるからこそ丁寧に扱わなきゃって思います。
例えば、初めて彼女を抱きしめたとき思った以上に華奢で「俺が一生守ってやらなきゃ・・!」みたいな。


それから僕は貧弱者で普通のノートPCでも持ち歩くのは重労働なのですが、
Mac Book Airなら5km圏内までならいけそうです。

バッテリなど

僕が買ったのは13インチのものですが、全然もちます。
長時間連続で使うということがあまりないので、
充電コネクタを外して使用(3〜4時間)→休憩(0.5〜1時間)のときに充電、というやり方で全く不便していません。(バッテリが劣化してきたらどうなるか分かりませんが)

トラックパッドやキーボードなど

会社ではThink Padを使っていて、そのトラックポイントにベタ惚れだったのですが、
Mac Book Airトラックパッドも負けてません。むしろ今ではトラックパッドの方が好きです。
最近はid:kimpoさんに教えてもらったMagic Mouseに興味があります。マルチタッチ対応のマウスで、いやらしい言い方をすれば全身性感帯みたいなやつらしいです。
キーボードについてはまだなかなか慣れません。
かな入力に切り替えようとして[1]キーを押したり、コピペしようとして[option]キー押したり。。。[command]キーと他のキーの組み合わせが難しいです。

なんだか楽しい

なんなんでしょうかね。これは。
よく分かりませんがとにかく触っていて楽しいです。
その内飽きるんでしょうか?

情報と僕

僕がTwitterを使い始めてそろそろ半年経つ。
使用前と現在でずいぶん情報との距離感が変わったと思う。

梅田望夫さんは著書『ウェブ時代をゆく』で”流しそうめん”という比喩を用いられていた。
以前の僕はインフラは整っていたがあまり積極的ではなく、必要なときに必要な分だけ取りに行く、いわばバイキングだった。それがTwitterを始め(クライアントソフトはTweetDeck)、フォロワー数も徐々に増え、「これが”流しそうめん”って感覚かぁ」と思えてきた。もちろんそれは主観的なものなので望田さんの感覚とは大分乖離があると思うが。
そしてiPod touchを入手し、家の環境を無線ルータにした。それまではルータがなかったので毎回PPPoEで接続する必要があったが、そのちょっとした操作が億劫だった。
するとどうだろう。もうバリアフリーである。ネットにつながるのに何の障壁もない。tweetを見る頻度も増え、必然的に気になる情報のソースにあたることも増えた。
だけどたまに思う。これはワンコそばみたいなものではないかと。噛む間もなくかき込んで、そしたら次のそばを入れられて。満腹になるまでそれの繰り返し。
ちょっと批判的になってきたけど、全然批判する気も改める気もない。ただ、その結果どうなるのかが気になる。胃を壊すかファットになるか、それとも・・・
さて、futureを生きるのは?(ブログのタイトルを絡めてみたw)

うーん、ちゃんと考えを持たずに勢いで書いてしまったのでグズグズになったなw

スピリチュアルエンジニアリング

つい先日、スピリチュアルエンジニアリングというものを知りました。そして、「:スピリチュアルエンジニアリング入門」というブログを読み、深く感銘を受けました。今まで自己紹介する際に自分のことをプログラムとかエンジニアだとか言ってきましたが、正直なところしっくりしませんでした。
ところがこのブログを見て、「あぁ、僕はスピリチュアルエンジニアリングなんだ」とピンときました。と同時に自分と似たようなことを考えている人の存在を知り嬉しくもなりました。


さて、スピリチュアルエンジニアの何たるかは上のブログを読んでもらうとして、2点僕の考えも述べさせていただきます。

1.予定調和はある

もともとの予定調和とは「予め神によってすべての孤立したモナドの間に仕組まれた調和」のことですが、これはシステム開発にも存在します。
しかし、中には予定調和を信じられず抗う人もいます。
流れに身を任せれば最終的にはうまくいきます。

2.悪人正機は心の拠り所

悪人正機とは浄土真宗の教えで、簡単に言えば「善人は自力で往生できるから、自力で往生できない悪人こそが仏に救済されるべき対象だ」というような教えです。
※注:ここでいう悪人とは悪い人という意味ではなく、煩悩にとらわれた人(つまり普通の人)のことです。
自分はダメだと嘆く人が多いですが、そんな人こそが仏に救われると思います。
ただし、浄土真宗で読経を重んじるように、エンジニアも読経・写経に励まなければなりません。


とりあえず今回は思想について書きましたが、今度は僕がやってる実践編について書きたいと思います。

Google Waveガジェット作成開始

Google Waveのガジェットを作ってみようと
Google Gadget Editorを触ってみた。

GGEで保存してからそれをWaveに貼り付けても変更が反映されない。。。
変更が反映されるまでにタイムラグがある。
iGoogleの場合だとキャッシュがきくらしいが
Waveでもそうなんだろうか?
ちなみにブラウザのキャッシュを削除してもやはりダメ。
もしWaveがキャッシュしてるなら、どうやったら削除できるんだろう?