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を再コンパイルして正常に動作するようになりました。前バージョンまではそんなオプションつけなくても大丈夫だったんだけどな。