去年買ったDELl T110 II に、FreeBSD 9.x入れようとして、NIC (bge0) を認識しなくてそのまま放置してたのですが、%portsnap してたら、「pkg_install はを今年8月いっぱいで終わり。pkgngに移行しな!」的なメッセージが出てきて、
/! WARNING /!
pkg_install EOL is scheduled for 2014-09-01. Please consider migrating to pkgng
http://blogs.freebsdish.org/portmgr/2014/02/03/time-to-bid-farewell-to-the-old-pkg_-tools/
If you do not want to see this message again set NO_WARNING_PKG_INSTALL_EOL=yes in your make.conf
おやおや最新のリリースは今どうなってんの?と追っかけてみたら、10.xが出てて、
- gcc→ LLVM Clang へのコンパイラ変更
- BINDからUnbound/LDNS へのネームサーバ変更 (%dig→ %drill、%nslookup→%host, etc.)
- ports→ pkgng へのパッケージ管理システム移行(バイナリ配布主流へ)
- FreeBSD ZFS (LZ4, L2ARC Compression, NOP Write, etc)
- Amazon EC2 対応
- Hyper-V (Windows Virtualization Sever) 対応
など大きめな変更があったので、重い腰を上げて10.xへの移行を開始してみることに。
現行鯖(FreeBSD 8.2-R9)を可能な限りアップデートして環境の差を埋めつつ、もう一台の鯖に FreeBSD 10.0-R のクリーンインストール開始。そして両方とも色々とはまりながら試行錯誤中。
そしてFreeBSD 8.x に、pkgng を入れようとしてコケる事例発生。
まず、
/etc/make.conf に、
WITH_PKGNG=yes
を追記。次に、ports collectionを最新に:
%portsnap fetch extract update
続いて、
%cd /usr/ports/ports-mgmt/pkg
%make
すると・・・
/usr/ports/ports-mgmt/pkg/work/pkg-1.2.6/libpkg/../external/sqlite/sqlite3.c:23598: error: ‘posix_fallocate’ undeclared here (not in a function)
*** Error code 1
そこで、
/usr/ports/ports-mgmt/pkg/work/pkg-1.2.6/external/sqlite/Makefile を見て、下記の引数を削除したり色々したけど、うまく入らず積んだ。
179 .if ${OSNAME} == FreeBSD
180 SQLITECFLAGS+= -DHAVE_POSIX_FALLOCATE=1
181 .endif
(続く・・・。)