月別アーカイブ: 2011年9月

FreeBSD 9でBSD-licensed grepとBSD-licensed libiconvをインストールする

FreeBSD9から脱GNUの一環としてBSD-licensed grepBSD-licensed libiconvがbaseに入りました。

/etc/src.confに以下を記入してコンパイルしてください。

WITH_BSD_GREP=yes
WITH_ICONV=yes

BSD-licensed grepはデフォルトではbsdgrepとして入りますが、オプションを指定するとgrepがBSD-licensed grepになります。

中身確認
(GNU grepがportsに入っているとPATHの設定次第ではgrepで呼び出されないこともあります。)

#/usr/bin/grep -V grep (BSD grep) 2.5.1-FreeBSD

iconvはGNUと違ってバージョン確認がない?が、使い方はほぼ一緒です。

#/usr/bin/iconv --version
iconv: unrecognized option `--version'
Usage:	iconv [-cs] -f  -t  [file ...]
	iconv -f  [-cs] [-t ] [file ...]
	iconv -t  [-cs] [-f ] [file ...]
	iconv -l

どちらもまだ開発途中なので本格利用はまだ先になりそうです。(特にlibiconv)

*BSD I18N Framework Implementation Project
(Citrus Project)

かなり前の記事ですが概要が載っています
2010年6月16日 BSDライセンス版iconv,テスト求む

 

 

FreeBSD 9でGCCの代わりにllvm clangでkernel・userland・portsをコンパイル

FreeBSD9から脱GNUの一環としてgccと新たにllvm clangがbaseに入りました。

現在、デフォルトはgccですが、近い将来gccはbaseから外れportsに追いやられることでしょう。

llvm clangでkernel・userland・portsをコンパイルする方法は/etc/make.confに以下を書くだけでOKです。

.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
.if !defined(CXX) || ${CXX} == "c++"
CXX=clang++
.endif
.if !defined(CPP) || ${CPP} == "cpp"
CPP=clang -E
.endif
# Don't die on warnings
NO_WERROR=
WERROR=
# Don't forget this when using Jails!
NO_FSCHG=

portsの対応状況ですが以下を見る限りかなり少なくなってきているのでclangデフォルトで問題ないですね。
http://pointyhat.freebsd.org/errorlogs/i386-9-full/index-reason.html
http://pointyhat.freebsd.org/errorlogs/amd64-9-full/index-reason.html

最新情報は以下をご覧ください。
http://wiki.freebsd.org/BuildingFreeBSDWithClang

FreeBSDのソースを利用する or カーネルモジュールとして使われるports

kernelソースを利用するportsをリストアップしてみました。
kernelを更新したら以下の中でインストールされている物があれば再起動前に合わせて更新することをおすすめします。

audio/aureal-kmod
audio/oss
chinese/big5width
chinese/telnet
comms/hso-kmod
comms/ib-kmod
comms/uarduno
comms/uhso-kmod
comms/umcs7840
devel/linux_kdump
devel/linux-js
devel/linuxthreads
emulators/kqemu-kmod
emulators/kqemu-kmod-devel
emulators/parallels-tools
emulators/rtc
emulators/virtualbox-ose
emulators/virtualbox-ose-additions
emulators/virtualbox-ose-kmod
emulators/virtualbox-ose-kmod-legacy
emulators/virtualbox-ose-legacy
emulators/vmware-guestd4
emulators/vmware-guestd5
emulators/vmware-guestd6
graphics/kix-kmod
graphics/plasma-kmod
misc/dahdi-kmod
multimedia/cuse4bsd-kmod
multimedia/cx88
multimedia/linux_dvbwrapper-kmod
multimedia/linux_v4l2wrapper-kmod
multimedia/ptx-kmod
multimedia/pvr250
multimedia/pvrxxx
multimedia/pwcbsd
multimedia/sms1xxx-kmod
net-mgmt/ng_ipacct
net/acx100
net/asterisk-oh323
net/bwi-firmware-kmod
net/bwn-firmware-kmod
net/click
net/iet
net/ipvs
net/ipw-firmware
net/ipw-firmware-kmod
net/iwi-firmware
net/mpd4
net/mpd5
net/ng_car
net/ng_daphne
net/openafs
net/skyfish
net/skystar2
net/ttbudget
print/acroreadwrapper
security/quantis
security/quantis-kmod
sysutils/biosfont
sysutils/cciss_vol_status
sysutils/devcpu
sysutils/fusefs-kmod
sysutils/fusefs-sshfs
sysutils/graid5
sysutils/lsof
sysutils/mono-kmod
sysutils/pefs-kmod
sysutils/pmap
sysutils/scprotect
sysutils/uhidd
sysutils/vordog
textproc/gxditview
x11-drivers/input-wacom