犬ターネット

Archive : 2013年12月

2013

来年もインターネット中心に頑張ってゆきたい。


centOS6.4(64bit)にちょっと古めのperlをインストールするまで

Vagrant で centOS6.4(64bit)環境作って perl-5.8.2 をソースインストールしたときのメモ。

まずは以下コマンドを実行してmake。prefix は /usr/local/perl5_8_2、libpth は /usr/lib64等 を先に読むように設定。

$ mkdir -p /usr/local/perl5_8_2/bin
$ cd /usr/local/src
$ wget http://www.cpan.org/src/5.0/perl-5.8.2.tar.gz
$ tar -xzvf perl-5.8.2.tar.gz
$ cd perl-5.8.2
$ ./Configure -Dprefix=/usr/local/perl5_8_2 -Dlibpth="/usr/local/lib64 /lib64 /usr/lib64 /usr/local/lib /lib /usr/lib" -ds && make

で、以下のエラーが出て make がこけた。

make: *** No rule to make target `<command-line>', needed by `miniperlmain.o'.  Stop.

検索したらmakedepend.SH の一部を書き換えればOKとのこと。さっそく makedepend.SH を開いて170行目に以下の行を追加。

$ vim makedepend.SH
$sed \
  -e '1d' \
  -e '/^#.*<stdin>/d' \
  -e '/^#.*<builtin>/d' \
  -e '/^#.*<built-in>/d' \
  -e '/^#.*<command-line>/d' \    ← この行追加
  -e '/^#.*"-"/d' \

んで再makeしたんだけど今度は「asm/page.h が見つかりません」ていうエラーでまた make がこける。

$ make depend && make
…
SysV.xs:7:25: error: asm/page.h: No such file or directory
…
make: *** [lib/auto/IPC/SysV/SysV.so] Error 2

/usr/include/asm/ 配下を見ると確かに page.h がない。 いろいろ漁ったら /usr/src/kernels/2.6.32-358.23.2.el6.x86_64/include/asm-generic/ に page.h があったからシンボリックリンクを張って対処。 他にもパラパラとファイルが見つからない系エラーが出てmakeがこけたから、都合以下の4つのシンボリックリンクを作成した。

$ cd /usr/src/kernels/2.6.32-358.23.2.el6.x86_64/include/
$ ln -s asm-generic/page.h /usr/include/asm/page.h
$ ln -s asm-generic/memory_model.h /usr/include/asm-generic/memory_model.h
$ ln -s asm-generic/getorder.h /usr/include/asm-generic/getorder.h
$ ln -s linux/compiler.h /usr/include/linux/compiler.h

やっと入った。

$ make
$ make install
$ /usr/local/perl5_8_2/bin/perl -v
This is perl, v5.8.2 built for x86_64-linux
Copyright 1987-2003, Larry Wall

白い鼻毛

鼻毛に白いのが混じってきてしばらく経つんだけど、黒い鼻毛と白い鼻毛は抜いた時の感触がちょっと違う。

  • 黒い鼻毛 … ブチッ
  • 白い鼻毛 … ズルッ

白い鼻毛は結構気持ちよく抜ける。


オカルトってわけじゃないけど

1ヵ月くらい前、仕事がクソヤバかったときに妻が「なんか嫌な気を感じる、神社に一礼してから会社いけ」って言ってたんだけど、もしかしたらあいつが俺に助けを求めてたのかもしれないなって思った。

俺に助けを求めるなら電話かメールしろよ。してほしかった。もう遅いわ。バカか。


cpanm で XML::Xerces を入れる

まず Xerces-C++ をソースインストールする。ちなみに XML::Xerces の最終バージョンが 2.7.0 なので、Xerces-C++ も 2.7.0 にしないと怒られる。

$ cd /usr/local/src/
$ wget http://archive.apache.org/dist/xml/xerces-c/source/xerces-c-src_2_7_0.tar.gz
$ tar -xzvf xerces-c-src_2_7_0.tar.gz
$ cd xerces-c-src_2_7_0/src/xercesc/
$ export XERCESCROOT=/usr/local/src/xerces-c-src_2_7_0
$ export XERCES_LIB=/usr/local/lib/
$ export XERCES_INCLUDE=/usr/local/include/
$ ./configure
$ make
$ make install

んで cpanm XML::Xerces すればOK。

$ cpanm XML::Xerces
--> Working on XML::Xerces
Fetching http://www.cpan.org/authors/id/J/JA/JASONS/XML-Xerces-2.7.0-0.tar.gz ... OK
Configuring XML-Xerces-2.7.0-0 ... OK
Building and testing XML-Xerces-v2.7.0-0 ... OK
Successfully installed XML-Xerces-v2.7.0-0
1 distribution installed

----[追記]----

このままだと encoding="EUC-JP" みたいな文書をパースするときにエラーになってしまう。EUC-JPな文書でもきちんとパースできるようにするには ICU というライブラリを使って Xerces-C++ をビルドする。

まずは ICU をインストール。ちょっと古めのやつを入れた。

$ cd /usr/local/src
$ wget ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-3_6-src.tgz
$ tar -xzvf icu4c-3_6-src.tgz
$ cd icu/source
$ ./configure
$ make
$ make install

※make時に「error: #elif with no expression」が出る場合は該当箇所ソースの #elif#else に書き換えてもう一度 make すればOK。

次に Xerces-C++ をリビルドして再インストール。export ICUROOT=/usr/local/src/icu で環境変数設定した後で runConfigure を実行してから make する。

$ cd /usr/local/src/xerces-c-src_2_7_0/src/xercesc/
$ export XERCESCROOT=/usr/local/src/xerces-c-src_2_7_0
$ export XERCES_LIB=/usr/local/lib/
$ export XERCES_INCLUDE=/usr/local/include/
$ export ICUROOT=/usr/local/src/icu
$ ./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -ticu -rpthread
$ gmake
$ gmake install

最後に XML::Xerces を再インストールして完了。

$ cpanm --reinstall XML::Xerces
--> Working on XML::Xerces
Fetching http://www.cpan.org/authors/id/J/JA/JASONS/XML-Xerces-2.7.0-0.tar.gz ... OK
Configuring XML-Xerces-2.7.0-0 ... OK
Building and testing XML-Xerces-v2.7.0-0 ... OK
Successfully reinstalled XML-Xerces-v2.7.0-0
1 distribution installed

急性蕁麻疹になった

会社で急に腹が痛くなってトイレにかけこんだ。

出すもの出したらすっきりしたんだけど、デスクに戻った直後、全身がカーッと熱くなって膨張するような感覚とともに酷い痒みが走った。

もう一回トイレに駆け込んで鏡をみると顔が真っ赤でパンパン。目は血走ってるし涙袋なんかすげえ腫れてる。

あー死ぬこりゃダメだと思って早退して地元の病院に行ったんだけど、病院着くころには痒みも顔パンパンも治まってしまった。

お医者さんに事の顛末を話すと「ああ、急性蕁麻疹だね。腹下して出る場合もあるんだよ」とのこと。整腸剤とアレルギー抑える飲み薬を処方されておしまい。悪い病気じゃなくてよかった。

------

急性蕁麻疹になってわかったんだけど、体中熱くなる = スゲー体力消費するっぽい。小宇宙(コスモ)を燃やせ的な。夕飯くったらもう倒れそうなくらい眠くて、夜9時に布団入ったらそのまま朝まで気絶した。病気って体力使うんだなあ。

35歳超えてから明らかに体調崩すこと多くなった。はー(ため息)


じゃまたな

親友が死んだ。今日お別れをしてきた。焼香して手を合わせたけど涙は出なかった。全然知らない人の法事に参列しているみたいだった。

iPhoneにはあいつとのメールのやり取りが残っている。あいつのフェイスブックにはいいね!とコメントが何個かついた愛娘の写真がアップされている。

でもあいつは死んだ。骨壷の中で小さくなっている。二度とメールも返せない。フェイスブックも更新できない。

死を受け入れられない、そんなことあんのかなって思っていたけれど、今がその状態なのかな。「実感がわかない」ってこういうことなのかな。

ふとした拍子に、例えば便所でウンコしてるときとかに、あいつが死んだことを強烈に意識したりするのかな。今はまだわからない。

とりあえず最後に「じゃまたな」って言ってきた。あいつは写真の中で娘を抱いて笑っていた。


jQuery + ajax で ファイルアップロードするには

少しハマったからメモ。

FormData オブジェクトが使えれば以下で可能。使えない場合は iframe をどうこうするみたいなトリッキーなことしないとダメっぽいから知らない。


tailf access_log の標準出力結果を PHP で処理する

tailf access_log の結果を PHP でリアルタイム処理する場合、以下の parse.php を準備して tailf access_log | php parse.php でOK。

これで、access_log が更新されると log.txt にも同じ内容が反映されてゆく。ただ、環境によっては tailf access_log | php -F parse.php みたいに -F オプションつけないと動かない場合がある。


centos6.4 に ffmpeg を yum install

ソースインストールダリーから yum install した。超簡単だった。

$ sudo rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ sudo yum --enablerepo=rpmforge install ffmpeg

キュウッ

10月末から約1ヵ月続いた地獄期間中、「ちょっときて」と上司に呼びだされること数百回。

そんな経験したせいか、上司の声を聞くだけでなんかこう胸のあたりがキュウッと苦しくなるようになってしまった。

恋?


子どもは便秘でゲボを吐く

娘、珍しく早朝に大量のゲボ吐いて起床。その後は元気だったんだけど夕方にまた調子悪くなってきて、移動中の車で壮大に2回目のゲボ。そのまま病院直行。

ウイルス性だったらヤバいなあって思ったけど、レントゲン取ったらウンコとガスが結構詰まってて、便秘が原因だと。

帰宅してウンコ一発かましたら速攻で元気になった。


昼散歩で撮影した猫4

前回 から3ヵ月経ってたまってきたのでまとめた。


とりあえず

寝よう


子どもの風邪強烈

金曜から娘が熱出してて、昨日は妻、今日は俺、と感染していった。

子どもの熱だからってチョロいわけじゃない。38度後半&酷い頭痛。

風呂にじっくり入って水ガブ飲みしてリポD飲んで寝る。