FreeBSD の ports でのお話。
subversion を WITH_APACHE2_APR で make すると /usr/local/lib/apache2/ の libapr を使おうとするのだが、 make install の最中 svnversion が libaprutil-0 を見つけられなくてコケて、半端にファイルはコピーされる、 +CONTENTS の類いはないので消すべきものが判らなくなると言う罠。
ldconfig(8) で手動でパスを追加して、/etc/rc.conf で ldconfig_paths に /usr/local/lib/apache2 を追加。
発端はと言えば viewcvs から svn のリポジトリが見えなくなっていて、 python binding 付きで svn を作り直したりしてたんだが、なんとかリポジトリが見れるところまで復旧。
暇だったのでキートップを外して掃除していたら、
1個キーを、パンタグラフの方の爪を折っちゃって、外れたまんまになっちゃったよウワーーーン
結局、残った3点で引っ掛けてなんとかハマっている形は保てたけど、斜めに叩くとすぐ外れかけちゃう…。幸か不幸かそれが delete キーだったので、あっというまに C-h で代用する癖がついたというオチ。
先週注文した UPS がやっと届いた。う〜む、間に土日祝日挟んだとはいえほとんど1週間か…。
テーブルタップ型ってんで小さいのを想像していたら、思っていたよりかずっとでかかった。なんかデザインでうまく騙してないか。
ろじてくのトラックボールより倍は高いあたりで大きさを想像してくれ
あまりにヒマなのか、同室の研究支援員のおじさんが鉢と土を買ってきて株分けを始めた。
なんという植物なんだろう。名前は知らないが、水さえやっていれば勝手にどんどんのびる。その伸び過ぎた奴を適当に切って、切った方をバケツに水を張って挿しておいたらいつまででも生きてる。っつーか根っこ伸びてるし…。
なので、せめて土に植えてやろうと言って買って来たらしい。
左の状態ではまだ、バケツの中は水なのだ
朝目が醒めると腰が痛い
腰を寝違えるってあるんかいなと莫迦なこと考えながら職場に来て、腰が痛ぇよと某所で悪態ついてたら
「フローリングに布団敷いて寝てた?その所為だ」「腰いためると一生ものだぞ」「つーか今すぐ病院行け」
さすがに一人暮らし初めて10年以上たつし、なんか今年になってから寝具買い替えまくりだな。
見よ、一枚で、今まで使っていた以上の厚み!
今日は瞬停1回だったなとさくっと復旧してメシ喰いにいったら再度の雷雨。
居室は瞬停しなかったが、実験室の方は一瞬暗くなったとか噂が飛び交うんで,勢いで UPS 購入。
例によって web 通販で、受け取るのが楽そうで…ってんで何故かこうなった。カタログ上は無停電電源装置じゃなくてバッテリー付き OA タップって分類だが、瞬停止めるだけだから一番安い奴でいいや
7DC −小型UPS内蔵 OAタップ(白/グレー) TAP-300-WG−
VL_RegisterAddrs rpc failed; will retry periodically (code=-01, err=2)とエラーが出続ける件は、異常終了などが原因で db server で前回の sysid が残っているなどして正しく sysid ファイルを作れないのが原因。 /usr/openafs/var/openafs/sysid を消して bosserver から再起動。
つー訳で瞬停で落ちた AFS server の復旧。やっぱ UPS かますかなぁ…。
/vicepa に fsck かけると壊れるとおどされていたのだが、先日、別の計算機を fileserver に仕立てている時、ボリュームを持ってきて mount した所で afsd が刺さって死ぬということを立て続けにやったのだが(結局 OpenAFS の afsd を捨てて arla に切り替えた@ FreeBSD 4-stable)、その時見ていると、何も考えずに fsck をかけてクリーンフラグをたてて mount してしまっても salvager がなんとかしてしまうのか、とくに特にボリュームが壊れていたり読んでみると構造が破綻していたりということはなさそうだった。
ので、今回は salvager まかせで、何も考えずに fsck して放置。 backup ならいくつかあるし〜、っつーか駄目ならどうせ backup から restore だし〜と見ていたら特に何ともなくサーバ側は立ち上がってきて, /afs をうろうろしてみたが、ほぼ直前に作ったファイルも含めてロストしたファイルも無さげ。結構信頼できるんだろか
最初は、「さっきからずっと外でごろごろいってるの、雷?」って感じだった。この時点ですでに「さっきからずっと」って辺りがナニ
で、そのうち1秒と間をあけずに落ち続ける雷。机の前が窓なもんでよく見えるんだが、あっちに落ちたって横向くと反対側に落ちる位びしびし落ちまくる。
最初はおもしろがってみていたが,そのうち飽きてきた。というか飽きるほど続く落雷。
で、アパートのベランダの戸を開けてきちゃったな、雷だけで済めばいいがなと思っていたが、ついに降ってくる雨。
あ〜あとか思っているとがつっと瞬停してくれましたよ……。ぁぅ、 afs server の復旧が…。
この職場の電源は信頼してたんだがなぁと思ったら,東電側の不調だったらしい。頃合いを見て,クライアントから立ち上げたところでまた瞬停。しば〜らく様子を見て、そろそろ大丈夫かと復旧作業初めて fsck して、もう一回 single user で作業するかと sync して reboot したところでまた瞬停。
雨がまた激しかったんだが俺には関係なし。同僚は雨漏りだか外から流れ込んだだかで大変だったらしい。
同僚といえば測定中のデータは全部パー、一部装置が壊れて(つーか電源のヒューズが飛んだ)、挙げ句に大本のビームラインがダウン。夜の9時頃に、部品がないので明日まで直りません放送があって、それって明日中に部品が届かなかったら火曜まで停止かゴルァとみんなブチキレ。
いやはや、雷恐い。瞬停の件がなくても恐い。小野源七郎を笑えん(違
IBM の某コンパイラのインストール先を変更して、苦労して .cfg ファイルを作り直してパスの指定を全部書き直してやったと思いきや,確かに何事もなくコンパイルできるようにはなっているのに、実行時にコケる。…それも旧パスにライブラリがあるはず,と読みにいくという間抜けなやり方で。
neutron-xxxxxx{yagi(p4)}1063: ./percolation3 zsh dyld: ./percolation3 can't open library: /opt/ibmcmp/lib/libibmc++.dylib (No such file or directory, errno = 2) zsh: trace trap ./percolation3 neutron-xxxxxx{yagi(p4)}1064: otool -L percolation3 zsh percolation3: /usr/local/lib/libgsl.0.dylib (compatibility version 6.0.0, current version 6.0.0) /usr/local/lib/libgslcblas.0.dylib (compatibility version 1.0.0, current version 1.0.0) /opt/ibmcmp/lib/libibmc++.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 63.0.0)
で、どうにかやりようがないものかと散々探したが徒労に終わり、かわりに実行時に DYLD_LIBRARY_PATH つけとけばコケなくなることは明らかになったのでこれで諦めることにする。つーか時間もったいないし。
こればかりはどうしようもないのかのぅ…。標準の位置にインストールしなかったら各自環境変数で、ってどうも偉そうで
つーわけで、受け取るところでドタバタしたものの無事ゲット
web で見て、思わずそのまま入力 form に必要事項書き込んでクリックしていた…。普段通販なんて滅多に利用しないんだがなぁ。
革ベルトの時計買ったのなんて初めてなんだが、止めるのが面倒だったりかぶれたりせんといいね
ちなみに、製作元はこちら
江戸之刻公式サイト(江戸のとき、江戸の刻) 干支 和時計 十二支
今日になって web で確認すると、持ち戻りから「ご来店予定(保管中)」になってやがる。
なに勝手に書きかえてんだゴルァ
結局電話すると,「今日だといつになるか判らないねぇ」とか定型反応しくさるんで「昨日来るいうから一日待ってて買い物にも行けなかったじゃねーか、どころかとうとう昨日の内に届かなかったじゃねーか」とブチキレ。何時というのが判らんとこの日待ってるなんていえないと言ってやったら3時から5時と2時間の幅まで限定できた(^^;;;
よっぽど高い priority で assign されたと見えて,3時5分頃には届いた。「よく言っておきますんで」とかいって去っていったが、ハテ、誰が怒られるのやら
午前指定の荷物が届く予定だったので,いつでも取りに出れる格好で暑い中うつらうつらと寝ていたら、気が付くと不在表だけ入っている罠。そりゃ呼び鈴の電池切れたまんまだけどさ(ばき
でも階段降りる音で気付ける自信あったんだがなぁ…。っつーかノックぐらいしろ
で、不在票に従って配送センターに電話すると「今日はいるのか?」とか訊くから「いてやる」と答えたらそれっきり。なんで今日来るかと思って待ってたらいつまでたっても来ない罠。買い物にも行けなかったじゃないか。
荷物を受け取りたいんだったら一日家で待ち続けてるなりセンターまで取りにくるなり、受け取りたさに応じてコストを負担すればいいだろってことか?
そういや前回の選挙の時も、投票日まで候補者の名前すら知らなかったが今回やっと理由が判った。選挙公報見てないからだ。ふぅん、公報とかいいながら必ず選挙民が読めるとも限らなかったのか。
シルバーパワーで選挙公報全戸に 新聞離れで自治体対策 - asahi.com : 政治
globus の GSI 認証でも利用できるようにしておこうかと昨日からインストールしていたのだが, FreeBSD だの MacOSX だのいうマイナーな OS では全然素直にいかんでやんの
FreeBSD では libiconv が /usr/local にあるのだが、その所為で iconv.h を見つけない奴が続出。しかしインストール先の prefix は /usr/local ではなかったりして結局 build にコケるたびに Makefile に -I/usr/local/include つけて make; make install する始末。
だいたい build 環境からして、 sh script から perl script が呼ばれ、その中がどう回っているか知らないが(ant required だったからそれでも使ってるんだろか?)毎回 tar 玉バラしては configure; make してるくさくて、介入しづらくてかなわん。
適宜修正した後、再度 install script を実行すると一応 build 済みのものは skip してくれるんだが、それだけなのに信じられんほど遅い。それでいて引っかかってるのはまいどまいど iconv.h 問題なんでうんざりする。
…いや ports にはあるんだが、 full-featured で build できるか見ておきたいじゃん
ああ、あと /var/db/pkg に書こうとするな。そこは ports で使ってるんだから
MacOS の方は1件致命的な問題があった他は、リンクしようとしたらライブラリ内に同名の関数があって多重定義でコンフリクトというワケワカラン状態でスタック。なんでそんなのリンクしようとしたんだ?
ちと gfarm というデータグリッドを FreeBSD/MacOSX 環境にインストールしようとして SYS_creat なんてのに立ちはだかれてしまってしばらく悩む。
creat system call は open(2) でいいじゃん、ってことで obsolete なんだが、なまじ NetBSD あたりだと compat43 当たりに存在していてくれて,何故かこいつは動作環境が Linux/NetBSD だったり…
よぉく man page 読むと,ちゃんと open(2) の第2引数が O_CREAT の時は第3引数に mode を取るってことで完全に統合されてるんですが linux だと違うんかな?
やれやれ…と思ったらまだあった。なに? fdatasync ?
メタデータは触らずデータだけ flush するから早いって? linux にはこんなのあるのか
どうでもいいが、未だに MacOSX を知らない config.guess とかつけてくるなよ
FreeBSD では ports あたりから OpenLDAP をインストールしておくこと
MacOSX では、 tar 玉展開後、 cp /usr/share/libtool/config.* . し、さらに mv util/gfront/GFront util/gfront/GFront_java としておく。
以下のパッチを当て、 configure 以下省略
--- lib/gfs_hook/hooks.c.orig Tue May 11 11:30:42 2004 +++ lib/gfs_hook/hooks.c Mon Jul 5 22:50:37 2004 @@ -30,6 +30,9 @@ #define SYS_fstat SYS___fstat13 #define SYS_lstat SYS___lstat13 #endif +#if defined(__POWERPC__) +#define SYS_getdents SYS_getdirentries +#endif #ifdef __linux__ #include@@ -688,7 +691,11 @@ int gfs_hook_syscall_creat(const char *path, mode_t mode) { +#if defined(__FreeBSD__) || defined(__POWERPC__) + return (syscall(SYS_open, path, O_CREAT, mode)); +#else return (syscall(SYS_creat, path, mode)); +#endif } off_t --- lib/libgfarm/gfarm/gfs_unlink.c.orig Sat Feb 14 01:09:13 2004 +++ lib/libgfarm/gfarm/gfs_unlink.c Mon Jul 5 16:45:10 2004 @@ -4,6 +4,7 @@ #include #include +#include #include #include #include --- lib/libgfarm/gfarm/gfs_pio_remote.c.orig Sun Sep 21 22:09:25 2003 +++ lib/libgfarm/gfarm/gfs_pio_remote.c Mon Jul 5 16:43:35 2004 @@ -7,6 +7,7 @@ #include #include #include +#include #include /* struct sockaddr */ #include #include --- server/gfmd/gfmd.c.orig Fri Dec 5 00:10:06 2003 +++ server/gfmd/gfmd.c Mon Jul 5 21:50:33 2004 @@ -3,6 +3,7 @@ */ #include +#include #include #include #include --- server/gfsd/gfsd.c.orig Fri Dec 5 00:10:06 2003 +++ server/gfsd/gfsd.c Mon Jul 5 22:10:33 2004 @@ -964,7 +964,11 @@ written += rv; if (written >= file_sync_rate) { written -= file_sync_rate; +#if defined(__FreeBSD__) || defined(__POWERPC__) + fsync(ofd); +#else fdatasync(ofd); +#endif } } if (--nfound <= 0) --- lib/libgfarm/gfarm/gfs_client.c.orig Mon May 24 18:34:04 2004 +++ lib/libgfarm/gfarm/gfs_client.c Mon Jul 5 22:11:56 2004 @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -664,7 +665,11 @@ written += rv; if (written >= sync_rate) { written -= sync_rate; +#if defined(__FreeBSD__) || defined(__POWERPC__) + fsync(fd); +#else fdatasync(fd); +#endif } } } @@ -715,7 +720,11 @@ written += rv; if (written >= sync_rate) { written -= sync_rate; +#if defined(__FreeBSD__) || defined(__POWERPC__) + fsync(fd); +#else fdatasync(fd); +#endif } } } --- gfptool/gfrepbe_client/gfrepbe_client.c.orig Mon Jul 5 22:54:26 2004 +++ gfptool/gfrepbe_client/gfrepbe_client.c Mon Jul 5 22:56:00 2004 @@ -62,7 +62,11 @@ *disksync_cyclep += rv; if (*disksync_cyclep >= file_sync_rate) { *disksync_cyclep -= file_sync_rate; +#if defined(__FreeBSD__) || defined(__POWERPC__) + fsync(fd); +#else fdatasync(fd); +#endif } } } @@ -90,7 +94,11 @@ *disksync_cyclep += rv; if (*disksync_cyclep >= file_sync_rate) { *disksync_cyclep -= file_sync_rate; +#if defined(__FreeBSD__) || defined(__POWERPC__) + fsync(fd); +#else fdatasync(fd); +#endif } } } @@ -257,7 +265,11 @@ transfers[i]); if (file_sync_stripe > 0) { if (++k >= file_sync_stripe) { +#if defined(__FreeBSD__) || defined(__POWERPC__) + fsync(ofd); +#else fdatasync(ofd); +#endif k = 0; } } --- lib/gfs_hook/hooks_common.c.orig Thu Feb 26 14:54:57 2004 +++ lib/gfs_hook/hooks_common.c Mon Jul 5 23:33:53 2004 @@ -444,8 +444,10 @@ } int internal_function -#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) +#if defined(__NetBSD__) || defined(__OpenBSD__) FUNC_GETDENTS(int filedes, char *buf, size_t nbyte) +#elif defined(__FreeBSD__) +FUNC_GETDENTS(int filedes, char *buf, int nbyte) #else FUNC_GETDENTS(int filedes, STRUCT_DIRENT *buf, size_t nbyte) #endif
[referer: [an error occurred while processing this directive]]
« 2004年06月 | Main | 2004年08月 »
2007年12月 2007年11月 2007年10月 2007年09月 2007年08月 2007年07月 2007年06月 2007年05月 2007年04月 2007年03月 2007年02月 2007年01月 2006年12月 2006年11月 2006年10月 2006年09月 2006年08月 2006年07月 2006年06月 2006年05月 2006年04月 2006年03月 2006年02月 2006年01月 2005年12月 2005年11月 2005年10月 2005年09月 2005年08月 2005年07月 2005年06月 2005年05月 2005年04月 2005年03月 2005年02月 2005年01月 2004年12月 2004年11月 2004年10月 2004年09月 2004年08月 2004年07月 2004年06月 2004年05月 2004年04月 2004年03月 2004年02月 2004年01月 2003年12月 2003年11月 2003年10月 2003年09月 2003年08月 2003年07月 2003年06月