メッセージ

2010年06月13日の記事

2010/06/13(日)FreeBSD 7.3R + postfix 2.6.7

2017/10/12 3:58 サーバ運営・管理
FreeBSD 7.3上で postfix を構築すると、コンパイルエラーになります。
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 サーバ運営・管理
libX11 を 1.2.11 あたりから 1.3.3 にアップデートしようとしたときの不可解な難題その2。X11関係の他のいくつかのライブラリでも発生。

./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 サーバ運営・管理
OpenLDAP 2.4.22 インストール、X11関係のライブラリを portupgrade かけようとしたときに、
*** 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 を実行すると、すんなり起動されます。