apache2.2.6でSIGILL
10月3日のエントリと似ていますが、バージョンが2.2.6の時の話。
Solaris9,gcc4.2.1,OpenSSL0.9.8eという環境でapache2.2.6をSSLを有効にしてconfigure。SSL関連のconfigureオプションはこんなの。
--enable-ssl=shared --enable-ssl --with-ssl=/usr/local/ssl
これでSSLの設定をhttpd.confに入れて起動すると、SIGILLでcore dumpしました。
# /usr/local/apache2/bin/apachectl start Illegal Instruction(core dumped)
SSLの設定がなければするっと動作するのは10月3日の現象と同じ。よくよく調べてみるとOpenSSLのconfigureに問題があることがわかりました。
いままでOpenSSLは
$ ./config shared
とだけしていたのですが、こうしないといけないみたい。
$ ./config -fPIC shared
これでOpenSSLをインストール、Apache2.2.6を再コンパイルして正常に動作するようになりました。前バージョンまではそんなオプションつけなくても大丈夫だったんだけどな。