yharaです。

2010年7月28日18:52 Hidetoshi NAGAI <nagai / ai.kyutech.ac.jp>:
> 本件の場合は,
>
> % ./configure --enable-shared=true --with-opt-dir=/opt/local --with-tcl-dir=/opt/local --with-tk-dir=/opt/local --disable-tcltk-framework
>
> という指定で大丈夫なのではないかと思います.
> # 最後の --disable-tcltk-framework は無くても良い気がします.
>
上記の指定でうまく行きました。ありがとうございました。
(--disable-tcltk-frameworkは無くて大丈夫でした)

> それでもダメであれば,お手数ですが make 時に出力されるメッセージの内
> (「 make 2>&1 | tee make.log 」とでもして保存してください),
> tk 関連の部分を送ってください.
> どこを捜してどれを利用することにしたかの情報があるはずですので.
>
一応、エラーになるケース(./configure --enable-shared=true --with-opt-dir=/opt/local)
について調査してみました。

make中に
--
Use [tclConfig.sh,tkConfig.sh] ==
['/System/Library/Frameworks/Tcl.framework/tclConfig.sh','/System/Library/Frameworks/Tk.framework/tkConfig.sh']
Use MacOS X Frameworks.
--
と表示されるので、tkConfig.shの位置は正しく検出できているようです。
本来ならば、Tcl・Tk共にFrameworkのものが使われそうに見えます。

しかし、このtkConfig.shを見ると、TK_INCLUDE_SPECが定義されていませんでした。
(TK_XINCLUDESは定義されていて、
'-I/System/Library/Frameworks/Tk.framework/Versions/8.4/Headers' になっています。)
このせいで、tkだけ/opt/localのものが使われてしまうようです。

/System以下のtclConfig.shとtkConfig.shを以下にアップロードしました。
* http://gist.github.com/497979
何かの参考になれば幸いです。

-- 
原 悠