2006-03-08
_ [IT][books] 学習とニューラルネットワーク
ヒマ(?)なので、積読状態になっていた本を読み進めている。分量的にも1週間程度で読み終わる内容。ニューラルネットの入門書としては、いちばん取り組みやすい本かもしれない。Cで書かれたプログラムソースも記載されているので、自分で実際にプログラムを書いて確かめられるのも良い。ただし、誤植が何箇所かあるので、注意を要する。
_ [IT] LL侍
LL侍こと早川くんの映像がこんな所に!!
Don'tStopMusic(2004-08-13):[イベント] LL 侍
実は、彼は高校時代の親友で、一緒に化学部で実験をしていた仲だ。(彼が部長で、僕は書記)高校卒業後、部活のOB会で2回くらい会ったことがあったが、ここ数年は全く疎遠になっており、その後の彼の足跡については、「ライブドアに入社した」という噂を最後にあまり知らない。(最近、mixiで発見)
当時の彼は、高校の化学教師でさえ舌を巻くほどの「化学少年」であり、放課後になると、いつも化学実験室でアヤシゲな実験に明け暮れていたものだ。とても独特な雰囲気を持つ青年だったが、笑いを取る方に走っていたとはねぇ〜(笑)
_ [EMBOSS][Cygwin] CygwinでEMBOSSがコンパイルできなくなった件
CygwinにEMBOSSを入れなおしていたら、コンパイルで失敗してしまう。
$ make ・・・ ajfile.c: In function `ajFileBuffNewDW': ajfile.c:3067: error: structure has no member named `d_ino' ajfile.c: In function `ajFileBuffNewDWE': ajfile.c:3158: error: structure has no member named `d_ino' ajfile.c: In function `ajFileNewDW': ajfile.c:3310: error: structure has no member named `d_ino' ajfile.c: In function `ajFileNewDWE': ajfile.c:3399: error: structure has no member named `d_ino' ajfile.c: In function `ajFileScan': ajfile.c:5163: error: structure has no member named `d_ino' make: *** [ajfile.lo] エラー 1
ソース(ajax/ajfile.c)を見比べてみると、どうやらreaddirの構造体へのポインタ'd_ino'が存在しないというエラーらしい。
そこで、readdirのManpageを見ると・・・
readdir() 関数は、dir の指すディレクトリストリームの中で、 次のディレクトリエントリを表す dirent 構造体へのポインタを返す。
ファイルの最後に達した場合やエラーが発生した場合は NULL を返す。
Linux では dirent 構造体は以下のように定義されている:struct dirent { ino_t d_ino; /* inode 番号 */ off_t d_off; /* 次の dirent へのオフセット */ unsigned short d_reclen; /* このレコードの長さ */ unsigned char d_type; /* ファイル種別 */ char d_name[256]; /* ファイル名 */ };
Cygwinの該当ライブラリ(/usr/include/sys/dirent.h)を参照してみると・・・
ino_t __invalid_d_ino; /* DO NOT USE: No longer available since cygwin 1.5.19 */
とある。どうやら、Cygwin 1.5.19以降では“d_ino”が廃止されて“__invalid_d_ino”に置き換わっているのが原因っぽい。そこで強引だが、“ajax/ajfile.c”および“ajax/ajfile.c”の“d_ino”を“ino_t d_ino”に置換し、無理やりコンパイルを実行。
$ mv ajax/ajfile.c ajax/ajfile.bak $ mv nucleus/embdbi.c nucleus/embdbi.bak $ perl -pe 's/d_ino/__invalid_d_ino/g' ajax/ajfile.bak > ajax/ajfile.c $ perl -pe 's/d_ino/__invalid_d_ino/g' nucleus/embdbi.bak > nucleus/embdbi.c $ make
これで、コンパイルが通った。
※追記:この問題は、bugfixを適用すれば解決するみたいです。(2006/3/10)