2014/02/15(土)FreeBSD10 でアプリケーションを構築してみる
2017/10/12 17:04
この方法だと、構築に要する時間はかかりますが、旧環境は温存できます。
それはさておき、FreeBSD 10 はどんなものか、を把握するために、ちょっとやってみたところが・・・
正直、嵌ったので・・・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 という組み合わせで運用しています。
実は、この組み合わせでも嵌ったのですが、別記事にします。