2002-08-09 (Fri)
_ 未承諾広告※
「未承諾広告※」というSubjectのメールをprocmailでspamフォルダに振り分けてるけど、 微妙に間違っているメール(「※非承認広告」とか)がよく来る。
もしかして、フィルタをよけるためにわざとやってるのか?
2004-08-09 (Mon)
_ mod_ruby-1.2.2
Apache2でSEGVが発生するバグがあったので修正してリリース。 まだおかしいとこもあるようだけど...。
_ mod_rewrite
httpd.confの中でmod_rewriteを使う分には何も問題がないのだけど
.htaccessの中で使おうとすると403エラーになってしまう。
[徒然日記より引用]
うーん、手もとでは.htaccessでもmod_rewriteが使えてしまいました。 こんなので試しました。
RewriteEngine on RewriteBase /~shugo RewriteRule foo.txt /home/shugo/public_html/bar.html
ちなみにhttpd.confの設定はDebianのデフォルトのままで
<Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options Indexes SymLinksIfOwnerMatch IncludesNoExec </Directory>
となってます。
あ、ひょっとして
AllowOvverride all
[徒然日記より引用]
このvが一コ多いせいとか。
でもPHPでは動くんですよね。うーん。
うちの動作環境は以下の通りです。
Server: Apache/2.0.50 (Debian GNU/Linux) DAV/2 mod_ruby/1.2.2 Ruby/1.8.2(2004-07-29)
2005-08-09 (Tue)
_ たこやきパーティ
昼に会社の同僚たちとかずひこさん宅に押しかけてたこやきパーティ。 かなり薄めのタネで、中がトロッとしていておいしかった。 出汁も用意していただいて、明石焼風にしてたべたりとか、堪能しました。
_ comment spam
やられまくったので、やまださんのフィルタ を導入。 これではじけるといいなあ。
2011-08-09 (Tue)
_ コンパイル時の出力を冗長モードにする方法
最近のRubyのコンパイルは静かだ。
$ make ... compiling ../complex.c compiling ../dir.c ...
しかし、何をやっているか見たい時もある。そういう場合は、make時にV=1を付けるとよい。
$ make V=1 ... gcc -g -O0 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=implicit-function-declaration -fPIC -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT -I. -I.ext/include/i686-linux -I../include -I.. -o load.o -c ../load.c gcc -g -O0 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=implicit-function-declaration -fPIC -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT -I. -I.ext/include/i686-linux -I../include -I.. -o proc.o -c ../proc.c ...
_ -fvisibility=hidden
ひさびさにmod_rubyをビルドしてみたら、以下のようなメッセージが出てApacheが起動しない。
/usr/lib/apache2/modules/mod_ruby.so: undefined symbol: ruby_dln_librefs
Rubyのソースを見てもruby_dln_librefsが消されたわけではないので、ちょっとハマってしまった。
gccには-fvisibility=hiddenというオプションがあって、そのライブラリの中ではグローバルに参照されるシンボルでも、リンクされる他のライブラリや実行ファイルからは隠すことができるのだが、Rubyでもいつの間にかそれが使われるようになったらしい。
commit d72ab5a671ca9bdb3fa75431ab4aaebf1620f0fa Author: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Wed Jul 21 21:38:25 2010 +0000 * configure.in (XCFLAGS): use -fvisibility=hidden if possible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
上記のcommitからのようだけど、何か議論とかあったっけ?
mod_rubyではRubyのシンボルを色々勝手に参照していて、だいたいはrb_funcall()やrb_gv_get()とかで回避したけど、Init_prelude()が呼べないのはどうにもならなさそうなのでチケットを挙げておいた。
ruby_dln_librefsの方は拡張ライブラリをアンロードするために使っていたようだけど、そもそも何のためにしていたのか思い出せないので、とりあえず1.9の時は当該処理をしないようにしておいた。
_ ay [「.htaccessの中で使おうとすると403」というとFollowSymLinksもSymLinksIfOwner..]
_ smbd ["AllowOvverride"は手で書いた際のtypoです。すみません 両者とも未解決のままです(T_T 詳細は自..]