2014/02/15(土)FreeBSD10 でアプリケーションを構築してみる

2017/10/12 17:04 サーバ運営・管理
freebsd-update だと、named.conf 設定ファイルが消えるとかの報告が入っているので、subversion によるソースコード取得をして、自力構築でやってみました。
この方法だと、構築に要する時間はかかりますが、旧環境は温存できます。

それはさておき、FreeBSD 10 はどんなものか、を把握するために、ちょっとやってみたところが・・・
20140215_1.png

正直、嵌ったので・・・orz
情報で得る内容と、実際に実務作業して得る内容は概して異なることが多いので、こうして経験することが重要なのです。

まず、ports の内部管理方法が変わり、portupgrade コマンドでアプリケーションの更新をしようとすると、「pkgng をインストールしろ」みたいなメッセージが出て怒られてしまい、以下のような手順が表示される :
- switch to pkgng:
    1) Add WITHOUT_PKGNG to /etc/make.conf
    2) Install ports-mgmt/pkg
    3) Convert your package database by running pkg2ng
    4) Remove WITHOUT_PKGNG from /etc/make.conf
提示されたとおりにして、再び portupgrade コマンドでアプリケーションの更新を行うことができました。
portsnap コマンド、portversion コマンドなどは、画面表示が若干変更されていますが、従来どおり使用できます。

気になる(ここからが本題)のが、デフォルトのコンパイラが clang に変わったことによる影響です。
当方では、痒いところに手が届くよう、一部の主要ソフトウェアをソースコードから構築しています。それらソフトウェアに対する影響です。
結果、これに嵌りました・・・ 以下、こちらで判明した内容です。
ただ、十分な確認はしていません。
筆者の通常環境である、環境変数 CC を未定義にしておいたときの状態です。

・Postfix  : clang 環境でも問題無さそう
・dovecot  : clang 環境でも問題無さそう
・PostgreSQL : configure が gcc を強制する。
・OpenLDAP  : clang 環境でも問題無さそう
・Courier-Authlib: configure が gcc を強制する。
・Maildrop  : configure が gcc を強制する。
・ClamAV   : configure が gcc を強制する。
・Apache 2.4 : clang 環境では構築不可。 環境変数 CC で gcc を強制要。
・PHP 5.5  : clang 環境では構築不可。 環境変数 CC で gcc を強制要。
・mod_perl  : clang 環境では構築不可。 環境変数 CC で gcc を強制要。
・rsyncd   : configure が gcc を強制する。
・proftpd  : configure が gcc を強制する。

筆者の環境では、Web サーバにて Apache 2.4 + mod_perl + PHP 5.5 という組み合わせと、 Apache 2.2 + mod_perl + PHP 5.4 という組み合わせで運用しています。

実は、この組み合わせでも嵌ったのですが、別記事にします。