概要
FreeBSD/amd64 8.4 にて ports を更新しました. また,packages の管理を pkgng に変更しました. その記録を提示致します.
概要
FreeBSD/amd64 8.4 にて ports を更新しました. また,packages の管理を pkgng に変更しました. その記録を提示致します.
目次
pkgng
firefox
前のページ (2) から変えたのは以下の点です.
1. packages の管理を行なう ports-mgmt/pkg を導入した.
2014.9.1 から旧 pkg が使えなくなるため,対応しました.
2. ports を 2014.8.25 付のものに更新した.
新しい ports においては clisp や xemacs がなくなっています. 代替えがあるとはいえ teTeX もです. 暇があったら,高速な PC を買って旧環境を使える形に整備しておきたいところです.[2] 本当は新環境を整備することに時間を使うべきなのでしょうが.
ports の make に gcc でなく clang を使うものもあります. (graphics/libopenraw など.[1]) したがって,それを make すると clang33, llvm33 が導入されます. (clang は gcc とは conflict しません.)
1. 最新の pkgng を install する. (ちなみに,この時点での ports-mgmt/pkg/ は 1.3.6 でした.)
# /usr/sbin/pkg The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: y Bootstrapping pkg please wait _http._tcp.pkg.FreeBSD.org Installing pkg-1.3.7: 100% (後略)
version は次のようにして確認する.
# pkg -v 1.3.7
2. package データベースを新しいフォーマットへと変換する.
# pkg2ng
これを実行したら /usr/local/etc/pkg.conf を修正するように言われて終わることもある. その場合には次のようにすれば良い.
# cd /usr/local/etc # cp pkg.conf.sample pkg.conf # pkg2ng
3. FreeBSD が 10.X より前であれば,以下の行を /etc/make.conf に追加して pkgng を用いるように設定する.
WITH_PKGNG= yes
この変更が反映していない ports ならば,更新する.
pkg の機能はたくさんありますが,以下は必須でしょう. version を記述する必要がなくなった点は便利です.
# pkg install packagename # pkg info packagename # pkg delete packagename # pkg autoremove 不必要になった package を削除
私は ports の方の管理ツールも使っていないので,この機会にそちらの使用法も習得したいものです.
現在の ports においては,firefox は version 31.0 です. しかし,なぜか gcc 4.9, 4.10 では make できません.
現在の ports においては,firefox-esr は version 24.7 です. これは gcc 4.9 で make できます.
しかし,実行時に,次のようなメッセージを出し,core を吐いて落ちます.
Bus error (core dumped)
この問題は,最初に make を実行する際,または make config にて OPTIMIZED_CFLAGS のチェックをはずせば生じなくなります.
[ ] OPTIMIZED_CFLAGS Use extra compiler optimizations
また,以下のようなメッセージが必ず出ますが,動作には影響ありません.
(process:1256): GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed
pkg 1.3.6 の環境にて pkg2ng を実行した際に,Wnn7 関連の library が見つからないという警告が多数出ました. ただし,少なくとも jserver は問題なく動作しております.
pkg 1.3.7 の環境にて pkg2ng を実行すると,この警告は出なくなりました. とはいえ library の問題が解消されたわけではないと思うので,機会があれば Wnn7 関連の実行形式を ldd で調べてみます.
(2) から変わりありません. すなわち,