去年買った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

(続く・・・。)

By admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です