2010/06/13(日)FreeBSD 7.3R + postfix 2.6.7
2017/10/12 3:58
postfix 2.6.x,postfix 2.7.0 でも同様。
コンパイル直後にこんな感じ:
/usr/include/unistd.h:329: error: conflicting types for 'closefrom'
./sys_defs.h:1400: error: previous declaration of 'closefrom' was here
原因は、FreeBSD 7.3用にpostfix での環境構築定義が出来ていないためで、上記2つのヘッダなど眺めると、FreeBSD 7.2 用のものが適用されてしまうようです。
以下のファイルを修正して対応します。
postfix-2.6.7/src/util/sys_defs.h
postfix-2.6.7/src/util/sys_compat.c
こうすると、素直にコンパイル通り、動作上も問題無いようです。
2010/06/13(日)FreeBSD 7.3R portupgrade に関するトラブル(2)
2017/10/12 3:59
./configure 途上でこんな感じのエラーが出ます。
./CONFIGURE: 5478: SYNTAX ERROR: WORD UNEXPECTED (EXPECTING ")")... snip..
libtool などの動作環境をチェック、環境最適化(?)する部分のマクロ言語展開あたりの問題。古いものがあるとこうなることがあります。
直接解決の参考になったのは、ここ → http://nhh.mo-blog.jp/ttt/2010/05/freebsd_ports_c.html
当方の場合は、
/usr/local/bin/autoconf259
/usr/local/bin/libtool15
/usr/local/share/aclocal/libtool15.m4
/usr/local/share/aclocal/libtdl15.m4
/usr/local/share/aclocal/inttypes.m4
/usr/local/share/aclocal/lsc-posix.m4
/usr/local/share/aclocal/signed.m4
全てタイムスタンプが 2005年から 2006年にかけてのもの。
他にもタイムスタンプが 2005年、2006年のものを削除して、再度 portupgrade を試みたところ、上手く行きました。
2010/06/13(日)FreeBSD 7.3R portupgrade に関するトラブル(1)
2017/10/12 4:00
*** Error code 1 (ignored)
/libexec/ld-elf.so.1: Shared object "libstdc++.so.4" not found, required by "groff"
のようなエラーが出て、構築が中断してしまうことがあります。
libstdc++.so.4 というのは、古いダイナミックライブラリで、現在は libstdc++.so.6 になっています。
上記では、groff コマンドが libstdc++.so.4 を要求したので、エラーになっている模様。
この手のエラーが出るコマンドは、以前は /usr/local/bin 配下にあったものが、 /usr/bin 配下に移動しているのが主な原因。
/usr/bin 配下にある該当コマンド実行ファイルを、単純に /usr/local/bin にコピーするか、/usr/local/bin 配下の該当コマンドファイルを削除することで解決します。
/usr/local/bin 配下にあった該当ファイルは、タイムスタンプが 2005 年から 2006年あたりのもので、古い実行ファイルであることが原因のようです。
当方では、単純に /usr/bin 配下から /usr/local/bin 配下にコピーして解決。
2010/06/13(日)SpamAssassin 3.3.1 の起動エラーを解決する
2017/10/12 4:01
SpamAssassin 3.3.x を perl のCPAN などでインストールし、設定も完了、いざ起動しようとすると、、
exited or timed out without signaling production of a PID file: exit
255 at /usr/local/bin/spamd line 2588.
のようなエラーが出て起動しなくなるというもの。
起動前に 一緒にインストールされる /usr/local/bin/sa-update を一度手動実行しないと駄目なようです。
動作に必要なファイルをこのコマンドで作成するのかな、、
/usr/local/bin/sa-update を手動実行後、/usr/local/bin/spamd を実行すると、すんなり起動されます。