気が向いたら何か書きます

1回/年くらいの更新を目指しますw

lighttpdのビルド

すこーし前に,lighttpdを自分でビルドして試用していたのです.なお,環境はSolaris 10(x86)でコンパイラはSun Studio 11のものです.そろそろ本格運用と思いましてログを分けてとろうかなとしたのですね,そしたら,

can't handle '$HTTP[url] =~ ...' as you compiled without pcre support.
(perhaps just a missing pcre-devel package ?)
 :

と怒られました.おや? ということで調べてみると,

% ./lighttpd -V
lighttpd-1.4.11 (ssl) - a light and fast webserver
 :
Features:

        + IPv6 support
        + zlib support
        + bzip2 support
        + crypt support
        - PAM support
        + SSL Support
        - PCRE support
        + mySQL support
        + LDAP support
 :

のように,確かにpcreサポートが抜けています.でもconfigureの時には--with-pcreを間違いなくつけていますし,pcreライブラリも事前にビルドしたものが/usr/local/libに入っています.変ですねぇというわけでconfig.logを眺めてみますと,

 :
configure:24529: checking for perl regular expressions support
configure:24539: result: yes
configure:24545: checking for pcre-config
configure:24563: found /usr/local/bin/pcre-config
configure:24575: result: /usr/local/bin/pcre-config
configure:24588: checking for pcre_compile in -lpcre
configure:24618: cc -o conftest (長いので省略) conftest.c -lpcre  -lresolv  -L/usr/local/lib -R/usr/local/lib -lpcre >&5
ld: fatal: library -lpcre: not found
ld: fatal: File processing errors. No output written to conftest
 :

ガクッ.ぉぃぉぃ.
どうも一個目の-lpcreが余計なような気がするので,configureの24594行目の

LIBS="-lpcre  $LIBS"

LIBS="$LIBS"

にしてみましたところ,万事おっけーとなりましたの.

あとから,実はgccならだいじょうーぶなんじゃないかと思って試してみたら,configureに手を加えることなくちゃんとpcre付きでビルドされました・・・ まっ世の中そんなもんですよね.うわーん.ギザカナシス.

まぁ古めのapache httpdでよければSolaris 10に入っているので,普通はそれを使うのでしょうけど,かわったことをしようとして落とし穴にハマる典型例みたいな話でした.

あと,phpをビルドする際にOSにバンドルされているMySQLを使おうとすると何故かうまくいかない(やり方が悪いだけかも)みたいなので,そいつはさっさとpkgrmして新し目のMySQLを別途インストールしたって事も,忘れないうちにメモメモ.