NetBSD

NetBSD-current追っかけ日記

更新が滞っています!当分再開する予定はありません.ご了承ください….

はじめに

この日記は, 早坂 <ryoh@jaist.ac.jp> が NetBSD-current 追っかけ作業を行っている際 に個人的にメモっていた内容を, せっかくなんでウェブで公開しているものです. 追っかけをやっていて, コンパイルできないとか動作がおかしいとか問題にぶち 当たった時, "これってオレだけの問題なの?" と誰もが思うでしょう. そんな問 題には僕も例外なくぶち当たっているはずなので, たぶんそんなときにこの日記 が役に立つのではと思っています. また, いつごろにどんな変更があったかの記 録としても有用かもしれません.

cvsup.jp.NetBSD.org からローカルに持っている cvs repository をほぼ毎 日更新してますが, このページで書いた日時と本家の方とはいくらか時間差があ るかもしれません. 情報源はほとんど foo-ml@NetBSD.org なメイリングリスト です. 可能な限りダイジェストになるようにしますが, 忙しいときはやりません のであしからず. :-p

深い内容のメイルなど, スレッドによってはリアルタイムにメイルを読めな い場合があるので, ここの日記に書いた日付と情報源との時間差がかなりあるこ とがあります.

本家の Recent Changes and News にのっていたり, -current 追っかけ作業してれば当たり前にきづくであろう ことや, current-users@netbsd.org ML でアナウンスされたようなことは, あえてここには書きません(書いて いる時間もないし). そちらも合わせて参照してみてください.

僕のマシンは i386 port です. なので, MI (Machine Independent) な部分 と MD (Machine Dependent) な i386 な部分 (+ 僕の関心のある事柄) が話の中 心となります. 他は流し読みしてます.

kernel & userlandおよびpkgsrc (インストール済パッケージ の更新分 + 新しく追加されたパッケージで興味のあるもの) & X.Org (pkgsrc/meta-pkgs/xorg) を週に一回,交 互にコンパイルしてアップデイトしてます. 特に日記に記述のない日は特 に気になるトピックがなかった日または作業をしなかった日(もしくは,追っか け日記を書く時間/気力がなかった日)です.

注) このページには結構古い情報も書いてありますが, もう現在の状況とは 異なっているものもあります. 古い情報を読む際には, 気をつけてください!

ToDo) そろそろこのページもでかくなってきたな. 時間があったら, ここから tips 系の内容を抜き出して別ページにまとめようと思ってますが, いつになる ことやら...


-current追っかけマシンのハードウェア構成


日記

上から下にいくにつれて順に古い内容になっていきます. 最新の日記は一番上のものです.

JAISTのftpサーバ (ftp.jaist.ac.jp)はNetBSDの公式ミラーサイトになってますのでどんどん 利用してください.ftp, http, rsyncでアクセスできます.(他にもたくさんの プロジェクトの公式ミラーサイトにもなってます)

2007年

10/29
* [PKGSRC] modular Xorgに移行.際コンパイルしないといけないパッケージが 多かったが,特に問題なく移行完了.

9/15
* [KERNEL, USERLAND] 久々にカーネルとユーザランドを-currentに更新. NetBSD 4.99.31. cvsupを実行してもpanicしなくなった.

7/28
* [KERNEL] 起動中,ntpdの開始中に問題が起こってるらしく,以降の起動処理 が実行されない.

7/21
* [KERNEL] 安定したと思ったら,cvsup中にpanicした.まだ不安定なもよう.

7/20
* [KERNEL] 2週間ほど前にvmlocking関連の変更がコミットされてから,問題が出 てはfixされるというのが繰り返されていたが,やっと今日ビルドしたカーネルは 普通に使えるようになったようだ.

7/4
* [PKGSRC] pkgsrc-2007Q2がリリース.pkgtools/pkg_rolling-replaceを使うと 簡単にインストールしているパッケージの更新ができる.
editors/emacsのメジャーバージョンが22になってるのに注意. editors/emacs-packagesがemacs22に対応していないようなので, emacs22はあきらめてeditors/emacs21をインストールすると楽.

4/16
* [PKGSRC] ステーブルブランチpkgsrc-2007Q1のリリース直前ということで, pkgsrcがかなり安定してる.僕がいつも使っているパッケージはほぼすべてコン パイルでき,最新に更新できた.

2/26
* [KERNEL, USERLAND] -currentに更新.MPACPIカーネルはpanicするのでまだ使 えない.

* [PKGSRC] lang/perl5の$^Xの値がおかしい(PR 35831)せいで,パッケージのコ ンパイルができない.知らないとハマるので注意.

2/15
* [KERNEL, USERLAND] えらく久しぶりに日記再開.日記を書いてなかっただけ で,-current追っかけ作業は継続してました.カーネルとユーザランドを-currentに更新.NetBSD 4.99.10. newlock2がマージされた影響ですごく不安定. pkgsrcをコンパイルすると100% panicする.安定するまで待った方がよいかも.

2006年

10/2
* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.

* [PKGSRC] stableブランチpkgsrc-2006Q3がリリースされました.Q2からアップ デートしましょう.

9/22
* [KERNEL] MPカーネルやMPACPIカーネルを使用してpkgsrcをコンパイルをして いるとハングアップする.まだ実用できないようだ.せっかくのDual Core CPU なのにな.

9/8
* [MISC] メインボード故障のため,追っかけ作業できてませんでしたが,再開 しました.

* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.NetBSD 4.99.1.MPカーネルで2 CPUを認識し,普通に使えるようになってた.
と思ってたら,Mozillaがディスクアクセス中に刺さったぞ.

7/24
* [KERNEL] amd64 のPowerNowサポートについて

7/23
* [KERNEL] Don't use UFS_DIRHASH

7/6
* [KERNEL] NetBSD 3.0_STABLE (i386)のマシンがpanicした.LFS関係.リブー トしてもそのLFSファイルシステムはすでに壊れていて,lsではリストされるの にアクセスできないファイルがあったりした.
とりあえず,カーネルを3系STABLEの最新にアップデートして,LFSファイルシス テムを作りなおして,現在運用中.
ちなみに-currentでは,LFSは安定して使えてるというコメントがMLに流れてま した.

* [PKGSRC] 7/2にpkgsrc-2006Q2ブランチができました.pkgsrc-2006Q1からアッ プデートしましょう.お薦めのアップデートの仕方は…後で時間を見つけて書き たいと思います.^^; pkgsrcを使ってる人って,みんなこれについて必ず一度は 悩むんだよな.

6/7
* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.

6/6
* [KERNEL] フリーズしたので,久しぶりにカーネルを-currentに更新.NetBSD 3.99.20. gcc4がインポートされた影響でユーザランドはコンパイルできてない.

* [PKGSRC] chroot環境をつくって,pkg_chk -uでほぼ毎日コンパイルしている が,アップグレードが必要なすべてのパッケージのコンパイルに成功しない. bulk buildだけでは発見できない不具合がたくさんあるんだよな….

5/7
* [MISC] ftp.jaist.ac.jpは,既に復旧しています.

5/1
* [MISC] ftp.jaist.ac.jpは,ハードディスク障害のため,利用できません.

4/10
* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.
3.99.17のカーネルは,不安定のようだ. CVSを使用してファイルシステム(ffs+softdep)に高負荷をかけたら,cvsプロセ スがuvm_aobjステートのままデッドロックした.もちろん,kill -9でも死なな い.そのままほおっておいたら,OS自体がフリーズした.キーボードからの入力 を一切受け付けないのでDDBにも落とせない.仕方なくリセットボタンを押した.

4/4
* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.

3/13
* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.NetBSD 3.99.16.
MPカーネルおよびMPACPIカーネルで起動できなくなった.
新しく入ったnfe(nForceチップセットのネットワークドライバ)により,以下 のように認識した:
nfe0 at pci0 dev 5 function 0: irq 11, address **:**:**:**:**:**
makphy0 at nfe0 phy 1: Marvell 88E1111 Gigabit PHY, rev. 2
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
動作は未確認.

3/10
* [PKGSRC, X] pkgsrcとXを最新のものに更新.
これまでは,「ABIの変更はめったに起こらない」という前提をおいて, pkg_delete -fやmake replaceなどを使用してアドホックにパッケージの更新を していたが,やめた.ちゃんとchroot環境を作って,その中でパッケージをコン パイルしてmake packageする.できたバイナリパッケージを使用して,更新を行っ ている.
pkg_compというツールもあるが,動かすための制約が強すぎて僕の環境では使い 難かったので,手作業でchroot環境の構築を行っている.

2/16
* 追っかけマシンをパワーアップするべく,ハードウェア構成を変えた.上の通り.CPU,メモリ,メインボードを交換.
とりあえず,amd64には移行せず,i386(シングルプロセッサ)のまま.MPカーネ ルでブートすると,2CPUを認識するが,IDEデバイスの認識のところで刺さって しまってダメ.MPACPIカーネルでブートすると,2CPUを認識し起動するが,PR 25208の問題が起こる.これは回避はできるのだが,非常に不安定で実用できない.

* [PKGSRC, X] pkgsrcとXを最新のものに更新.

* [PKGSRC] 2/2に書いたSeaMonkeyは,機能が限定されていたり,ところどころ 変なので使えない.mozilla-gtk2を使っている.

2/2
* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.

* [PKGSRC] wipにSeaMonkeyが入った ので,早速コンパイルして試用中.特に不具合なく使えるみたいだ.

1/30
* [PKGSRC, X] pkgsrcとXを最新のものに更新.
expatのメジャーアップデートにより,expatをリンクする多数のパッケージをコ ンパイルし直す必要があるので注意.
anthyは,環境変数TMPDIRをunsetしてコンパイルしないと,動かないので注意.
mozilla-gtk2を起動するとpangoに関連するライブラリのエラー(Undefined PLT symbol)が出る./usr/pkg/lib/pkgconfig/gdk-x11-2.0.pcのRequires:にpangox を加えてmozilla-gtk2をコンパイルすればよい.
Requires: gdk-pixbuf-2.0 pango pangocairo pangox
僕はgtk2+のconfigureの中の"pango pangocairo"にpangoxを加えて,上記の gdk-x11-2.0.pcになるようにした.

1/23
* [PKGSRC, X] pkgsrcとXを最新のものに更新.大きなところでは,gnomeとxorg が新しくなった.

* [PKGSRC] pkgsrcにあるJava VMを調べてみた.コメント付き.
使えそうなもの:

lang/sablevm: SableVM free Java virtual machine #おすすめ.こういうソフトウェア大好き.だけど,クラスライブラリが古い…
wip/kaffe: Virtual machine capable of running Java(tm) code #おすすめ.だけど,クラスライブラリが古い…
lang/kaffe: Virtual machine capable of running Java(tm) code #wip版よりちょっぴり古い
wip/jdk14: Java Development Kit 1.4.2 #nativeで動くのでlinux emulationより速い!おすすめ
lang/jdk: Sun's Java(tm) Development Kit #VMのバージョンが古い.1.1が必要なときはどうぞ
lang/sun-jdk15 #ま,だまってこれ使っとけばよいという話も….おすすめ
lang/sun-jre15: Sun's Java(tm) 2 Standard Edition, ${DOWNLOAD_NAME}
lang/sun-jdk14: Sun's Java(tm) 2 SDK, Standard Edition 1.4.2
lang/sun-jre14: Sun's Java(tm) 2 Runtime Environment 1.4.2
lang/sun-jdk13: Sun's Java(tm) Development Kit 1.3.1
lang/sun-jre13: Sun's Java(tm) Runtime Environment 1.3.1
lang/blackdown-jdk13: Linux port of the Blackdown Java(tm) Runtime Environment
lang/blackdown-jre13: Blackdown's Java(tm) Runtime Environment 1.3.1

現在,使えないもの:

wip/jdk15: Java Development Kit ${JDK_VERSION} #早く使えるようになって欲しいな
wip/kissme: Java Virtual Machine (JVM) freely available
wip/jamvm: Compact Java Virtual Machine
lang/japhar: Java Virtual Machine, currently JDK 1.1.5-level
wip/sun-j2me: Sun's Java(tm) 2 Micro Edition Environment
1/18
* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.
build.shがsyspkgsに対応したので,実行してみようと思ったら,build.sh releaseで失敗するのでできなかった.

1/13
* [PKGSRC, X(xorg)] pkgsrcとXを最新のものに更新.

1/12
* [KERNEL] 12/27のカーネルで起動していて,pkgsrcを使ってgnomeとkdeを同時 にコンパイルしてたら,システムが落ちた.
Jan 12 07:34:10 bonnie /netbsd: panic: kernel diagnostic assertion "size> 0" failed: file "../../../../uvm/uvm_map.c", line 847
Jan 12 07:34:10 bonnie /netbsd: syncing disks... 29 29 29 29 29 29 29 29 29 29 2 9 29 29 29 29 29 29 29 29
負荷をかけなれば落ちないようだけど.とりあえず,今日付けのカーネルに更新.

* [USERLAND] pkgsrc/x11/xorg-libsが/usr/include/stdio.hにシンタックスエ ラーがあるということで,コンパイルできない.今日付けのユーザランドに更新 したら解決した.

* [KERNEL] -currentのLFSは完全に壊れてますね.読みだしだけでpanicします. LFSにしていたパーティションをひとつ,FFSに変更してしまいました.

* 近々,-current追っかけマシンをi386からamd64に変更する予定です.あ,で も,pkgsrc-bulk@netbsd.org MLによると,pkgsrc/editors/emacsが Segmentation faultになるらしいので,しばらく延期しよう….

2005年

12/29
* ftp.jaist.ac.jpでrsyncサービスを始めました(というか,実は数ヵ月前から アクセスできてたんだけど).ftpやhttpで公開している/pub以下すべてがrsync の対象として利用可能です.適当なサブディレクトリをrsyncしてくださいませ.
例:rsync://ftp.jaist.ac.jp/pub/NetBSD/とか rsync://ftp.jaist.ac.jp/pub/NetBSD-daily/とか.

12/27
* [NEWS] NetBSD 3.0がリリースされました.NetBSD 2.1からアップグレードし ましょう.

* [NEWS] pkgsrcのstable branchであるpkgsrc-2005Q4が切られました. pkgsrc-2005Q3からアップグレードしましょう.

* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.NetBSD 3.99.15.

12/20
* [KERNEL] 12/15のカーネルで起動していて,LFSに負荷をかけていたらささっ た.lsがもどってこない.umountもできない.

* [PKGSRC, X] pkgsrcとXを最新のものに更新.

12/15
* [KERNEL] 12/13のカーネルで起動していて,NFSにアクセスしていたらpanicし た.最近,-currentは安定してない模様.

12/13
* [KERNEL] 12/12のカーネルで起動していて,pkgsrcのパッケージをコンパイル してたらpanicした.
uvm_fault(0xc063c860, 0, 0, 1) -> 0xe
12/12
* [KERNEL] 12/1のカーネルで起動していて,shutdownしたらswapoffのところで panicした.

* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.NetBSD 3.99.14.

12/5
* [KERNEL] LFSに高負荷をかけると,不安定な模様.pkgsrcで3つのパッケージ を同時にコンパイルしてたら,コンパイルが刺さった.lsなども刺さる.LFS以 外は,問題なく動作してる.とりあえず,再起動させようとshutdownしたら,案 の定LFSをumountできずshudownに失敗する.しょうがないので,強制rebootさ せた.

* [MISC] これまでftp://ftp.NetBSD.org/pub/pkgsrc/ をftp://ftp.jaist.ac.jp/pkgsrc/にミラーしてたけど,ディスクスペースを取 る割にはアクセスがない(悲)ので,ミラーをやめました.利用してた人は,本家 に取りにいってくださいませ.もちろん,NetBSDNetBSD-dailyはミラー を継続してますので,がんがん利用してください.

* [PKGSRC, X] pkgsrcとXを最新のものに更新.

12/1
* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.NetBSD 3.99.13.

11/22
* [PKGSRC, X] pkgsrcとXを最新のものに更新.

11/17
* [KERNEL, USERLAND] カーネルとユーザランドを-currentに更新.

11/16
* [PKGSRC, X] pkgsrcとXを最新のものに更新.

11/4
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新. NetBSD 3.99.11.

* [NEWS] NetBSD 2.1がリリースされた.マスターサイトからフルミラーしてま すので,お近くの方は ftp://ftp.jaist.ac.jp/pub/{NetBSD,NetBSD-daily,pkgsrc}からどうぞ.ちなみ に,ftp.jaist.ac.jpは他にもいろいろミラーしてますので,ご利用ください.

10/11
* [KERNEL] 昨日更新したカーネルを使用してちょっと負荷をかけたらシステム が落ちたので、ひとつ古いカーネルに戻した。current-users@NetBSD.org MLでもい くつか報告されてるやつっぽい。ちなみに,このときはtmpfsを使用中だった.
uvm_fault(0xc060f900, 0xdeadb000, 0, 1) -> 0xe
...
* [KERNEL] 9/11に書いたwm0がタイムアウトする問題だが、ハードウェアの提供 する機能をoffにしても起こってしまう。大きいファイルをftpダウンロード中に 起こったりするので,いらいらがたまる….マザーボードを変えればタイムアウ トしなくなるのかな?

* [PKGSRC, X] 10/6にpkgsrcとxorgを更新したあたりから、MozillaやEmacsがよ くcoreを吐いて落ちるようになったぞ….それと,たまにマウスポインタが画面 左端にくっついたまま左右に動かなくなってしまう(上下には動く)のはなぜだ?

10/10
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新.

* WXG を止めて、日本語入力にAnthyを試用中。

10/6
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

9/29
* [KERNEL] NetBSD 2.1_RC5 でも LFS は不安定だな. lfs_cleanerd がお亡くな りになったりする.

* [PKGSRC] stable ブランチ pkgsrc-2005Q3 が切られた. pkgsrc-2005Q2 を使 用しているまわりのマシンたちのパッケージの更新を行っている.
更新には, "pkg_chk -u" を使用 (実際には, -C pkgchk.conf も付けている). 数年前に使用したときには, 更新が必要なパッケージすべてを pkg_delete して make をし始めるが, その途中で make にしくじると, パッケージ更新作業すべ てが失敗 (更新パッケージリストがなくなる) してしまうという問題があって " これは使えん" と思っていたが, 現在ではだいぶ改良されているようだ.
${PKGSRCDIR} に pkgchk_update-HOSTNAME.conf というファイルができて, 更新 が必要なパッケージ一覧を保持しておくようになっていて, たとえパッケージの make に失敗した場合でも, その一覧を失わないようになっている. それで, 失 敗箇所を修正して, 再度 "pkg_chk -u" を実行すると前回の続きから make を再 開してくれる.
"make -k" でパッケージの登録を強制したり, "pkg_delete -f" インストール済 みパッケージを強制的に削除したり, パッケージのコンパイルの順番を変えたり, パッケージ間の依存を変更したり, pkgchk.conf と pkgchk_update-HOSTNAME.conf との対応をとるために pkgchk_update-HOSTNAME.conf を編集する必要があったりと, まだ完全自動でパッ ケージの更新はできないが "pkg_chk -u" でかなりの部分の自動化が可能だ.

9/26
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新. NetBSD 3.99.9.

9/21
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

9/10
* 追っかけマシンのハードウェア構成を変えた. といっても, NIC をギガビット 化しただけ. NIC は, Intel PRO/1000 MT サーバ・アダプタ. チップは i82545GM だ. wm(4) を見ると, supported interfaces にリストされてないし, BUGS 節に
The Intel i82545GM and i82546GB controllers with internal SERDES are not currently supported.
とあるが, 次のように使用できている.
wm0 at pci0 dev 12 function 0: Intel i82545GM 1000BASE-T Ethernet, rev. 4
wm0: interrupting at irq 5
wm0: 32-bit 33MHz PCI bus
wm0: 256 word (8 address bits) MicroWire EEPROM
wm0: Ethernet address *
makphy0 at wm0 phy 1: Marvell 88E1011 Gigabit PHY, rev. 5
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ハードウェアの提供するチェックサム機能なども有効にした.
$ ifconfig wm0
wm0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        capabilities=2bf80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Tx,UDP6CSUM_Tx>
        enabled=2bf80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Tx,UDP6CSUM_Tx>
        address: *
        media: Ethernet autoselect (1000baseT full-duplex,flowcontrol,rxpause,txpause)
        status: active
        inet *
        inet6 *
しかし, 使用しているとデバイスがタイムアウトする. 1 日に 1 回あるかない かの頻度なので, 実用上, 問題はない.
wm0: device timeout (txfree 3962 txsfree 0 txnext 836)
メー ル (wm0: device timeout) を見ると, 僕のマザーボードも VIA チップセッ トなのでチップセットの方の問題かも知れない. ちなみに, ハードウェアの提供するチェックサムなどの機能を enable しなけれ ば, タイムアウトは起きないらしい.

9/6
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新. NetBSD 3.99.8.

9/5
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

8/29
* 負荷をかけたら, システムがハングアップした. 画面も死んでしまったので原 因不明.

8/16
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新.

8/10
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

7/25
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新. NetBSD 3.99.7.

* [KERNEL] buffer queue strategy オプションについて. ハードディスクへの アクセスが遅い (ハードディスクが古い + RAIDframe 使用) 僕のマシン環境で は, BUFQ_PRIOCSCAN より BUFQ_READPRIO の方がディスクへの負荷が高いときの レスポンスが良いみたい.

7/13
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

6/20
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新.

6/14
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

6/10
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新. Vinum を 有効にしてコンパイルすると, エラーになるので, とりあえず無効にしてコンパ イル.

5/31
* [PKGSRC] xine-lib と netpbm がコンパイルできない問題は, /usr/include/unistd.h を revision 1.103 に更新することにより解決.

5/30
* benchmarks. 多方面で物議を醸したベンチマーク.

* [PKGSRC, X] pkgsrc と X を最新のものに更新. xine-lib, netpbm がコンパ イルできない.

5/26
* Doxygen generated documentation. 単にソースコードをながめるより, ずっとわか りやすい. だが, ソースコードの view を変えているだけで, それ以上のもの (ドキュメントの代わりになるとか) ではない.

5/23
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新. NetBSD 3.99.5.

5/18
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

5/9
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新.

* [PKGSRC] Smarter make update / pkg_chk algo. パッケージ更新問題. 導入部分の pkgsrc に 関する説明がよくまとまってる.

* [PKGSRC, TIPS] パッケージを make するときに自動的に付く CFLAGS (-O2) を付けないようにする方法. "CFLAGS=-O0" とか "DBG=" を mk.conf に書くといいらしい.

5/2
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

4/26
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新.

4/22
* [NEWS] そいえば, NetBSD 2.0.2 がリリースされてますね.

* [PKGSRC, X] pkgsrc と X を最新のものに更新.

* [PKGSRC] 僕が -current 追っかけマシンにインストールしている, お気に入 りパッケージの紹介.
今回は, "security/apg: Tool set for random password generation". パスワー ド生成にはいつもこれを使っている. いくつか試した中で一番使い勝手が良かっ た. -M mode オプションで, パスワードに使用するシンボルを選べるのが良 い. デフォルトでは pronounceable なパスワードを生成してくれるので覚えや すいし, お薦め.

* [JAVA] sun-jre15 works with mozilla-1.7.6 on NetBSD-2.0/i386. 僕は試していないが.

* [KERN] Why not softdep per default?. 結論としては, まだ softdep をデフォルトに する段階にはないということかな. amiga, macppc, mac68k, sparc, sparc64, および i386 のポートでは動作に問題はないが, 特定のドライバを使用した場合 やその他のポート (vax など) では深刻な問題があるらしい. -current 追っか けマシン (i386) は, すべての FFS で softdep 使用しているが, 特に問題は起 きていない.

4/11
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新. NetBSD 3.99.3.

4/8
* [PKGSRC, X] pkgsrc と X を最新のものに更新. gnome-2.10.0 とこれに関連 する多数のパッケージを更新. 途中, imake を使うパッケージで, リンク時に X.Org のライブラリ (/usr/pkg/xorg/lib/libXext.so など) が見つからずにエラー になってしまったが, xpkgwedge を再インストールして問題解決. X.Org に移行 しても, xpkgwedge を再インストールしていなかったという. ^^; 手抜き具合が バレバレ.

* NetBSD CVS Digest で, リポジトリの更新状況を CVS のデータをもとに知ることができるらしい. 週 1 更新. ちゃんと毎週更新が続いていけば, 便利かも.

3/31
* [KERNEL, USERLAND] 久しぶりにカーネルとユーザランドを -current に更新. NetBSD 3.99.2.

3/15
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

3/7
* [X, PKGSRC] meta-pkgs/xorg. X を起動する前に
# mkdir -m 1777 /tmp/.ICE-unix
をしてあげないとダメ. うーん. 追っている時間なし.

* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新.

* -current 追っかけマシンを CVS サーバとして, 他のマシンから pkgsrc の cvs update をしたら, 追っかけマシンがフリーズした. CVS リポジトリは普通 に FFS with softdep に置いてあるし, 他に負荷をかけているものはなかったの だが. 信頼性のないハードウェアを使用しているので, NetBSD の問題とは言え ないかもしれない.

3/3
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

2/24
* [PKGSRC] misc/openoffice. 2004/10/17 に書いた, 次のようにコンパイルに 失敗する原因が分かった.
$ make
...
Configure completed
You may now run /usr/pkgsrc/misc/openoffice/work/bootstrap in /usr/pkgsrc/misc/openoffice/work
***** WARNINGS ISSUED *****===> build-message [openoffice-1.1.4] ===> Building for openoffice-1.1.4
ulimit -d `ulimit -H -d` ; tcsh -c "setenv PTHREAD_DIAGASSERT Ael && cd /usr/pkgsrc/misc/openoffice/work/config_office/.. && ./bootstrap && source NetBSDIntelEnv.Set && dmake"
dmake:  makefile.mk:  line 251:  Error -- Include file target.mk, not found
*** Error code 255

Stop.
devel/dmake をインストールしていて, openoffice のビルド時にこの dmake が 使用されるとエラーになることが判明. pkg_delete dmake 後, openoffice が正 常にコンパイルできることを確認.

* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新. NetBSD 2.99.16. ipf tools がインポートされた影響でコンパイルに失敗する場合があ るが, OBJDIR を消すとうまくいく.

2/16
* [PKGSRC, X] pkgsrc と X を最新のものに更新.

2/14
* [KERNEL, USERLAND] カーネルとユーザランドを -current に更新. インストー ル時にエラーが起きるが, DESTDIR 以下を消して build してインストールすれ ば OK.

2/8
* [PKGSRC] pkgsrc を最新のものに更新.

2/4
* [X] そうそう, 昨日 xorg に移行して特に問題はないと書いたが, X を終了し た後にコンソールが真っ暗 (よーく見ると, コンソールの文字がうっすら見える が) になる問題はある. radeon ドライバを使用. xsrc の方では NetBSD による パッチが当たっていたはず. いずれ, xorg にそのパッチが取り込まれるでしょ う.

2/3
* [X, pkgsrc] あまりにも X が不安定なので, xsrc (XFree86 Version 4.4.0) から pkgsrc/meta-pkgs/xorg (X.Org 6.8.1) に移行した. 今のところ, 全く問 題ない.
/etc/mk.conf に "X11_TYPE=xorg" を加えて make すれば簡単にインストールで きる. 設定ファイルは /etc/X11/xorg.conf になる. xsrc で使用していた XF86Config の内容をほとんどそのまま使用できるが, xorgconfig でざっくり設 定してサンプルファイル xorg.conf を作っておいて, それと今まで使っていた xsrc 用 XF86Config の内容をマージしていくと良いと思う. ちなみに, グラフィ カルな設定ツール xorgcfg も試したが, 直感的に使用しにくかったのでコマン ドラインバージョンの xorgconfig を使用した.

2/1
* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新.
experimental なカーネル設定オプション UFS_DIRHASH を有効にして, お試し中.

1/31
* [PKGSRC] pkgsrc を最新のものに更新.

1/26
* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更 新. NetBSD 2.99.15.
1/18 に書いた libpam でコンパイルエラーになる問題は, CVSup で手元にコピー しているリポジトリが壊れているためと判明. コピー元の cvsup.jp.netbsd.org のリポジトリは壊れていない. しかし, なぜか CVSup で更新してもローカルの リポジトリを修復できない. CVSup のバグか? ちなみに, ここ からのスレッドで似たような問題についての議論がある. けれど, こ れは anoncvs の場合だが. とりあえず, 新たに cvsup.jp.netbsd.org からロー カルにリポジトリを CVSup でコピーしてこれを使用するようにして解決.

1/18
* [USERLAND] コンパイルエラー:
#   compile  libpam/openpam_borrow_cred.ln
CC=/usr/obj/toolsdir/bin/i386--netbsdelf-gcc /usr/obj/toolsdir/bin/i386--netbsdelf-lint -chapbxzF -Sw -X 233 -d /usr/destdir/usr/include  -DLIB_MAJ=0 -DOPENPAM_STATIC_MODULES -DOPENPAM_STATIC_MODULE -DDEBUG    -i /usr/src/dist/openpam/lib/openpam_borrow_cred.c
/usr/src/dist/openpam/lib/openpam_impl.h(131): redeclaration of openpam_load_module [27]
/usr/src/dist/openpam/lib/openpam_impl.h(131): warning: old style declaration; add int [1]

*** Failed target:  openpam_borrow_cred.ln
*** Failed command: CC=/usr/obj/toolsdir/bin/i386--netbsdelf-gcc /usr/obj/toolsdir/bin/i386--netbsdelf-lint -chapbxzF -Sw -X 233 -d /usr/destdir/usr/include -DLIB_MAJ=0 -DOPENPAM_STATIC_MODULES -DOPENPAM_STATIC_MODULE -DDEBUG -i /usr/src/dist/openpam/lib/openpam_borrow_cred.c
*** Error code 1

Stop.
nbmake: stopped in /usr/src/lib/libpam/libpam
* [PKGSRC, TIPS] www/mozilla-gtk2. 昨日の更新で Mozilla が 1.7.5 になったが, アドレスフィールドなどのキーバインドがデフォルトで Emacs 風から矢印キー を使うようになった. これは mozilla が gtk2 のキーバインドを使用するよう になったことによる. 僕はキーバインドが Emacs 風でないと生きていけない人 なので, Emacs_Keybindings_(Firefox)を参考にして, gtk2 のキーバインドを Emacs 風に変更. つまり gconf-editor で /desktop/gnome/interface/gtk_key_theme を "Default" から "Emacs" に変える. これで, mozilla も Emacs 風キーバンドになった.

* システムがハング (NetBSD 2.99.12/i386). リセットボタンでリブートさせた. 原因不明.

1/17
* [PKGSRC] pkgsrc を最新のものに更新. 年末年始に追っかけ作業をしていなかっ たので, 更新したパッケージは多かった.

1/11
* ftp サイトにあった NetBSD 2 Live! の iso イメージを, 試しに CD-R に焼 いてみた. IBM ThinkPad X40 に USB で外づけした Panasonic KXL-CB35AN とい うドライブで起動させると...使い物にならない. CD-R へのアクセスが遅すぎ る. けれど, 起動させてしばらくすると X に関する設定なしで X が起動し, そしてソフトウェアてんこ盛りの KDE デスクトップ環境が立ち上がるところは よくできている. トラックポイントもきちんと動作する.

1/7
* [PKGSRC] lang/perl58 (perl-5.8.6) に vulnerability があるので, fix が 入るまで更新するのはやめておくことにする.

* [NEWS] アスキー BSD マガジンが休刊となっ た. 残念.

* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. NetBSD 2.99.12 になった.

1/6
* 今日もシステムが落ちた. NetBSD 2.99.12 カーネル. 12/22 と同じ状態. ど うやら, LFS ファイルシステムにアクセスすると落ちるらしい. PR 28730 と同じ問題かな?

2004年

12/24
* システムが落ちた. 原因不明. crash dump も取れず. 操作不能. 落ちたとき は高負荷な状態ではあったけど. とりあえず, これからカーネルを最新にしてみ る.

12/22
* [PKGSRC] stable ブランチ pkgsrc-2004Q4 が切られた.

12/20
* [PKGSRC] pkgsrc を最新のものに更新. 特に問題なし.

12/19
* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. 特 に問題なし.

12/14
* [PKGSRC] pkgsrc を最新のものに更新. 特に問題なし. stable ブランチ pkgsrc-2004Q4 作成のために pkgsrc リポジトリのフリーズ中なので, 更新部分 が少ない.

* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. 特 に問題なし.

12/12
* [X] コンパイルエラー:
...
dependall ===> x11/bin/appres
#   compile  appres/appres.o
/usr/obj/toolsdir/bin/i386--netbsdelf-gcc -O2 -pipe -march=athlon-xp    -Werror   -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/destdir/usr/X11R6/include  -nostdinc -isystem /usr/destdir/usr/include  -c    /usr/xsrc/xfree/xc/programs/appres/appres.c
#      link  appres/appres
/usr/obj/toolsdir/bin/i386--netbsdelf-gcc -Wl,-nostdlib   -Wl,-rpath-link,/usr/destdir/usr/X11R6/lib  -R/usr/X11R6/lib  -L/usr/destdir/usr/X11R6/lib   -o appres  -Wl,-rpath-link,/usr/destdir/lib:/usr/destdir/usr/lib  -L/usr/destdir/lib  -B/usr/destdir/usr/lib/ -B/usr/destdir/usr/lib/   appres.o -lXt -lSM -lICE -lXext -lX11   -L/usr/destdir/usr/lib -L/usr/destdir/usr/lib
/usr/destdir/usr/X11R6/lib/libXt.so: undefined reference to `pthread_cond_wait'
collect2: ld returned 1 exit status
* [USERLAND] libpam (openpam) がリポジトリに入った.

12/11
* [USERLAND] コンパイルエラー:
...
#   compile  libbfd/elflink.so
cc -O2 -pipe  -Werror  -march=athlon-xp    -I/usr/src/gnu/lib/libbfd/arch/i386 -I/usr/src/gnu/dist/binutils/include -I.  -I/usr/src/gnu/dist/binutils/bfd -DHAVE_CONFIG_H -D_GNU_SOURCE -DNETBSD_CORE -DDEFAULT_VECTOR=bfd_elf32_i386_vec -DSELECT_VECS='&bfd_elf32_i386_vec,&i386netbsd_vec,&bfd_elf32_little_generic_vec,&bfd_elf32_big_generic_vec' -DSELECT_ARCHITECTURES='&bfd_i386_arch' -DHAVE_bfd_elf32_i386_vec -DHAVE_i386netbsd_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec -I/bfd -I/bfd -I/bfd/../include -I/bfd/../intl    -c    -fPIC -DPIC /usr/src/gnu/dist/binutils/bfd/elflink.c -o elflink.so.tmp
/usr/src/gnu/dist/binutils/bfd/elflink.c: In function `elf_reloc_link_order':
/usr/src/gnu/dist/binutils/bfd/elflink.c:7067: warning: left shift count >= width of type
*** Error code 1
* 最近, カーネルなどをコンパイル中に, システムのレスポンスが悪い. その時, pagedaemon が激しく動作している. 一時期 -current はこういう状態になって いて, 数ヶ月前あたりから "だいぶ改善したなぁ" と思っていたのだが.

* [NEWS] 祝! NetBSD 2.0 リリース. 周りにある NetBSD 1.6 系マシンを 2.0 にアップグレード しなくては.

12/7
* [PKGSRC] pkgsrc を最新のものに更新. 特に問題なし. lang/python24 が入っ た.

* 11/30 に書いた, Mozilla が以下のエラーメッセージを出していきなり落ちる 問題が分かった. pkgsrc の www/mozilla-gtk2 と multimedia/moz-flash を 一 緒に使用していたのが原因だった. multimedia/moz-flash を pkg_delete して 問題解決. multimedia/moz-flash は通常 www/mozilla-gtk2 と一緒に使うよう にはなっていないんだが, 手元で使えるように変更を加えて使用していたのが敗因 か.
The program 'Gecko' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadShmSeg (invalid shared segment parameter)'.
  (Details: serial 158 error_code 178 request_code 147 minor_code 2)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
* 最近, 全然メイリングリストを読めてない. ぐぐぐ. 新ネタがなくてごめん.

12/6
* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. 特 に問題なし. NetBSD 2.99.11 になった.

11/30
* [X] 昨日 X を更新してから, フォントまわりや共有メモリ関連のエラーで kterm やら Emacs やら Mozilla が使用中にいきなり落ちるという現象が多発し た. 謎. しかし, Linux エミュレーションで動く firefox は普通に動く. これ がヒントになりそうだが...
xsrc の DESTDIR と BSDOBJDIR の中身をすべて削除してフルビルドしてインス トールしなおしたら, 直ったみたい. 何だったんだろ? しかし, Mozilla は依然 として落ちまくる.

11/29
* [PKGSRC] pkgsrc を最新のものに更新. 特に問題なし.

* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. 特 に問題なし.

11/27
* [KERNEL, USERLAND, X] ユーザランド コンパイルエラー:
...
#    create  amd/get_args.d
CC=/usr/obj/toolsdir/bin/i386--netbsdelf-gcc /usr/obj/toolsdir/bin/nbmkdep -f get_args.d --      -DHAVE_CONFIG_H -I/usr/src/usr.sbin/amd/amd/../include -I/usr/src/dist/am-utils/libamu  -I/usr/src/dist/am-utils/include -I/usr/src/usr.sbin/amd/libamu/obj -DHAVE_MAP_HESIOD=1 -DHAVE_MAP_NIS=1 -I/usr/src/dist/am-utils/amd -I/usr/src/usr.sbin/amd/amd/obj -DHAVE_CONFIG_H -I/usr/src/usr.sbin/amd/amd/../include -I/usr/src/dist/am-utils/libamu  -I/usr/src/dist/am-utils/include -I/usr/src/usr.sbin/amd/libamu/obj -DHAVE_MAP_HESIOD=1 -DHAVE_MAP_NIS=1  -nostdinc -isystem /usr/destdir/usr/include   /usr/src/dist/am-utils/amd/get_args.c
/usr/src/dist/am-utils/amd/get_args.c:57:27: build_version.h: No such file or directory
nbmkdep: compile failed.
11/24
* [PKGSRC] pkgsrc を最新のものに更新. 特に問題なし.

11/23
* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. 特 に問題なし.

11/18
* [PKGSRC] graphics/glitz で, glitz-0.2.3.tar.gz がダウンロードできない のは, 以下の理由のためらしい.

On November 15th, freedesktop.org was compromised by a remote user. While we do not believe that any code or accounts have been compromised, we are in the process of rebuilding all our machines from scratch. We apologise for the inconvenience, and expect public services to start becoming available soon.

Daniel Stone, Nov 16th

http://www.freedesktop.org/

11/17
* [PKGSRC] pkgsrc を最新のものに更新.
graphics/glitz で, glitz-0.2.3.tar.gz がダウンロードできず make できない.
devel/readline の共有ライブラリのメジャーバージョンが上がった (libreadline.so.4 -> libreadline.so.5) のに注意.

* [PKGSRC] mail/qmail について. pkgsrc-2004Q2 ブランチと pkgsrc-2004Q3 ブランチで 大きくパッケージングが異なるので, アップグレードには注意が必要. 変更 点を見極めてアップグレードしないとハマる. qmail のキューが壊れてしまった ときには, mail/queue_repair が役立つ. ログや ps などからは qmail は正し く動いているのに配送プロセスのどこかで止まってしまっていてメイルが配送さ れないときには, まず queue_repair を実行してみるのが吉.

11/15
* [KERNEL] ptyfs recent changes.

* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. etcupdate が失敗するが, 以下の src/etc/Makefile への変更でとりあえず実行 できるようになる:
Index: Makefile
===================================================================
RCS file: /usr/cvsup/src/etc/Makefile,v
retrieving revision 1.295
diff -d -p -u -r1.295 Makefile
--- Makefile    15 Nov 2004 00:28:16 -0000      1.295
+++ Makefile    15 Nov 2004 14:52:52 -0000
@@ -266,7 +266,7 @@ install-etc-files: .PHONY check_DESTDIR 
 .endif # MKUNPRIVED != no
        ${_MKMSG_INSTALL} ${DESTDIR}/etc/ttys
        ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 644 \
-           etc.${MACHINE}/ttys ${DESTDIR}/etc
+           ttys ${DESTDIR}/etc
        ${_MKMSG_INSTALL} ${DESTDIR}/dev/MAKEDEV
        ${ETC_INSTALL_OBJ_FILE} -o ${BINOWN} -g ${BINGRP} -m 555 \
            MAKEDEV ${DESTDIR}/dev
11/11
* [KERNEL] ptyfs が追加された. これを使うと /dev にある, pty と tty デバイスファイルがいら なくなるそうだ.

* [NEWS, USERLAND] ここ数日の間, binutils 2.15 のインポートにより, 一時 的にコンパイルに失敗する状況が発生するかも知れないとのアナウンスあり.

11/9
* [NEWS, PKGSRC] pkgsrc-2004Q4 ブランチ作成のためのフィーチャーフリーズは, 12/6 に開始され, 最大 2 週間行われる.

11/8
* うーん, 確かにこれ これに似 ているぞ...

* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. 特 に問題なし.

* [PKGSRC] audio/mpg123 が mpg123-0.59.18nb5 に更新. mpg123-0.59.18nb4 は remote-code-execution vulnerability あり.

11/6
* [PKGSRC] pkgsrc を最新のものに更新. 特に問題なし.
/etc/mk.conf に SUSE_PREFER=9.1 を追加. Linux エミュレーションのパッケー ジ suse のデフォルトのバージョンを 7.3 ではなく 9.1 にする. 今の ところ suse 9.1 を使っていて問題が起きたことはない (java version "1.5.0" も普通に動作している).

* [KERNEL] コンパイルエラー:
...
#   compile  BONNIE/sys_socket.o
cc -pipe -ffreestanding -g -march=athlon-xp -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-sign-compare -fno-zero-initialized-in-bss -Di386 -I. -I../../../../arch -I../../../.. -nostdinc -DLKM -DDIAGNOSTIC -DDEBUG -DEXT2FS_SYSTEM_FLAGS -DMSGBUFSIZE=131072 -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -I../../../../dist/pf -I../../../../dist/ipf -c ../../../../kern/sys_socket.c
../../../../kern/sys_socket.c: In function `soo_ioctl':
../../../../kern/sys_socket.c:130: error: structure has no member named `snd'
../../../../kern/sys_socket.c:130: error: structure has no member named `snd'
../../../../kern/sys_socket.c:131: error: structure has no member named `snd'
../../../../kern/sys_socket.c:131: error: structure has no member named `snd'
../../../../kern/sys_socket.c:134: error: invalid type argument of `->'
../../../../kern/sys_socket.c:134: error: invalid type argument of `->'
../../../../kern/sys_socket.c:134: error: invalid type argument of `->'
../../../../kern/sys_socket.c:134: error: invalid type argument of `->'
*** Error code 1
11/3
* [NEWS] NetBSD 2.0 のリリース時期について. 未定. 現在, リリースエンジニ アリングを行っているマシン releng.netbsd.org にハードウェア障害が発生し ていてマシンが落ちているため, リリースプロセスが止まってしまっているよう だ. マシンの管理者はみんなボランティアなので, なかなか直しに行けないらし い. RC5 を出すかどうかについて, 近々アナウンスがあるそうだ.

* [PKGSRC] pkgsrc を最新のものに更新. 特に問題なし. sysutils/swapd (Swap daemon for POSIX-compliant operating systems) が面白そうなので, 試しに使っ てみようっと.

* [NEWS] NetBSD の 公式ロゴが新しくなった. ちなみに, ふるいのはこちら. ロゴコ ンテストをやっていて, その応募作品の中から選ばれた. なんか慣れないせいか, デーモン君がいないせいか, しっくりきませんねぇ.
新しいロゴについては, 賛否両論あり. "賛" の方は, 上のリンクのロゴコンテ スト優勝の理由に書いてあるようなこと (シンプルさなど). "否" の方は, いろ んなところでさまざまに言われているようで. たとえば, デーモン君は人によっ ては宗教的に問題があるとか, デーモン君と言えば FreeBSD が世の中的には有 名らしいので NetBSD とかぶっちゃう問題とか, デーモン君のコピーライト問題 とか. 過激なものには, "BSD" も名前から取っちゃって "NetOS" に名前をかえ たらどうよとか, マスコットにデーモン君ではなくゴキブリ君を採用したらどう よとか... ゴキブリ君は嫌だ... 個人的にはデーモン君好きなので, デーモン 君が登場する公式ロゴがいいな. ちなみに, その他のロゴはこのへんに たくさんリストされている.
今回公式ロゴに決定した優勝作品以外にも, ロゴコンテストへの応募作品 (400 を越えるらしい) を見てみたい気がするが, それぞれの作品の著作権の問題があり公開 されることはないらしい.

10/30
* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. 特 に問題なし.

10/28
* [KERNEL] scsi ディスクに対するヘビーロードの状態で, ときどき次のメッセー ジが出る:
sd0(esiop0:0:1:0): unable to allocate scsipi_xfer
PR 25670 による変更で "直した" ってことになってるんだけど... これ によると, design flaw なんだそうだが.

* [KERNEL] 10/28 の日記に, "-current で LFS は結構安定している" と書いた けど, ヘビーロードな状態になると,
lfs_cleanerd[25630]: get_ifile: cannot open `/b/ifile': Permission denied
lfs_cleanerd[15309]: /b: cleanerd looping, exiting
とか
lfs_flush_dirops: flushing locked ino 143533
とか言われる. ヘビーロードな状態の他にも, ファイルシステムの容量をフルに 使用する状態では, 不安定になる. これらに気をつければ, 常用可能です.

10/26
* [PKGSRC] pkgsrc を更新. 特に問題なし. shells/bash が 3.0 になった.

10/25
* NetBSD on solid state. コンパクトフラッシュ (CF) 上に NetBSD を構築する方法.

* [PKGSRC] doc/guide パッケージが追加された. pkgsrc に関するドキュメント をまとめたもの. DocBook/XML で書かれてるので, さまざまなフォーマットに出 力できるらしい.

* [KERNEL, USERLAND, X] カーネル, ユーザランド, X を -current に更新. 特 に問題なし.

10/22
* [KERN] -current で LFS を使用していると, マウントする時に次のウォーニ ングが出る:
lfs_mountfs: please consider increasing BUFPAGES to at least 0
意味不明なメッセージなのだが, スレッドによると無視してかまわないそうだ.
-current 追っかけマシンでは, pkgsrc の OBJDIR に LFS を使用してみている. かなり負荷が高い状態でも正常に動作しているようだ.

10/20
* [PKGSRC] 今年 5 月に pkgsrc-bulk メ イリングリストができた. bulk ビルドの結果がメイルで流れる. これを読 むと, 現在どの NetBSD のバージョン / ポートで, どのパッケージに問題があ るのかが分かる.

* [X] /etc/mk.conf に X11_TYPE=xorg を設定して, pkgsrc/meta-pkgs/xorg を make すると, X.org の X をインストールできる. 僕はまだ xsrc (XFree86 4.4.0) から移行していない. xorg の評判はいいみたい.

* NetBSD を MMU なしのハードウェア環境で動かす際の問題 点.

10/19
* [PKGSRC] /etc/mk.conf で, 以下のオプションを "yes" に設定しておくと, mozilla-bin, firefox-bin, firefox-gtk2-bin をインストールする際に NetBSD native のバイナリではなく Linux のバイナリがインストールされるようになる. そうすると, *-bin-acroread*, *-bin-flash, *-bin-java パッケージが提供す るプラグインが Linux エミュレーションで動くようになって幸 せ. mk/defaults/mk.conf を参照.
#MOZILLA_USE_LINUX=
# Used by mozilla binary packages to prefer the use of Linux
# compatibility instead of native builds.
# Possible: set, unset
# Default: unset
* [PKGSRC] graphics/tiff が vulnerability 対策済みの 3.6.1nb4 になった. ただ, Checksum mismatch するんだよな.
ryoh@bonnie$ make
===> do-fetch [tiff-3.6.1nb4] ===> Checking for vulnerabilities in tiff-3.6.1nb4
=> Checksum OK for tiff-3.6.1/tiff-v3.6.1.tar.gz.
=> Checksum mismatch for tiff-3.6.1/TIFFTechNote2.html.
Make sure the Makefile and checksum file (/usr/pkgsrc/graphics/tiff/distinfo)
are up to date.  If you want to override this check, type
"/usr/bin/make NO_CHECKSUM=yes [other args]".
*** Error code 1

Stop.
10/18
* [PKGSRC] pkgsrc をアップデート. graphics/tiff が vulnerability チェッ クに引っかかる以外は特に問題なし.

* [KERN, USERLAND] カーネルとユーザランドをアップデート. 特に問題な し. カーネルが 2.99.10 になった.

10/17
* [PKGSRC] OpenOffice for NetBSD: -current 用のバイナリがダウンロード可能. 日本語に localize されたものもあるみたい.
soffice は /emul/linux/tmp に一時ファイルを書きにいくので, パーミッショ ンを書き込み可能にしておく必要がある. もしくは, "export TMP=/tmp" してお けばいい. 僕は次のようにリンクをはっている.
ryoh@bonnie$ ls -l /emul/linux/tmp
lrwxrwxrwt  1 root  wheel  - 4 Jul 27 21:02 /emul/linux/tmp@ -> /tmp
misc/openoffice (バージョン 1.1.1nb2) は, 僕のところではコンパイルできて いない. configure プロセスに失敗している風でもないのだけど.
$ make
...
===> build-message [openoffice-1.1.1nb2] ===> Building for openoffice-1.1.1nb2
ulimit -d `ulimit -H -d` ; tcsh -c "setenv PTHREAD_DIAGASSERT Ael && cd /usr/pkgsrc/misc/openoffice/work/oo_1.1.1_src/config_office/.. && ./bootstrap && source NetBSDIntelEnv.Set && dmake"
dmake:  makefile.mk:  line 251:  Error -- Include file target.mk, not found
*** Error code 255

Stop.
* [KERN] autonice 機能が無効になった. 変更前は Emacs, Mozilla, XMMS など のアプリケーションを起動して一晩ほおっておくと, 次の日にはこれらのプロセ スが自動的に nice -4 されていた. 今の個人利用が主で処理速度の早いマシン 環境では, この autonice 機能は意味がないということで無効になった. 議論 スレッド.
autonice されるのを見越して, nice -5 とかで実行していたバックグラ ウンド処理を nice -1 に変更.

10/15
* そういえば, BSD マガジン (アスキー) No. 21 って, いつ発売なんだろ?

10/13
* カーネルやユーザランドをコンパイルしていて下記のようなエラーが起こった ら, src/UPDATING に書いてあるように "make cleandir" すべし. 僕のところで は, UPDATING に書いてあるディレクトリに加えて src/sys/lkm/netinet/if_ipl でも make cleandir を行う必要があった.
$ ./build.sh -U -u -x build
...
dependall ===> usr.sbin/ipf
dependall ===> usr.sbin/ipf/libipf
nbmake: don't know how to make /usr/src/sys/netinet/ip_lookup.h. Stop
10/12
* [NEWS] -current のバージョンナンバ付けの方法が変わった. 今までは 2.0H という形式だっ たが, 2.99.8 のようになった. NetBSD のバージョンナンバの分かりにくさが変 更の動機である. でも, 僕はこの "99 versioning scheme" はあまり好きではな い.

* [NEWS] NetBSD 2.0 RC4 (Release Candidate 4) のタグが打たれた. 2.0 は早 く出て欲しいけど, 2.0 RC はどうも不安定な模様.

* [PKGSRC] 9/26 にアナウ ンスされたすべてのパッケージのバージョンアップが, 予定通り行われ た. それに伴い, -current 追っかけマシンにインストールしていたほぼすべての パッケージのコンパイル & インストールし直し作業に取り掛かっていたが, 本日無事に完了した. 途中, libtool 関連のバグでコンパイルできないパッケー ジがあったりしたが, 今は直っているので大丈夫.

2004年

3/25
* [KERN] 1.6Q に更新. 特に問題なし.

* [USERLAND] sendmail が新しくなった. /usr/share/sendmail を参考にして 設定ファイルも更新しよう.

* ときどき, X (4.3.0) が突然おっこちたり, mozilla (1.3) が core を吐い てお亡くなりになったりする. なんでだろ?

3/21
* [X] XFree86 4.3.0 にアップグレードしました. 何の問題もなく使用できます.

3/2
* [NEWS, X] XFree86 4.3.0 がインポートされました.

* タグが打たれたりブランチが切られると, CVSup サーバ (cvsup.jp.NetBSD.org) が混みますね. CVS の設計上の欠陥なので仕方がない のですけど.

* CrossOver Office が VMWARE や WINE で動くそうです. WINE での動かし方の概略

2/26
* NetBSD 2.0 には, GCC 3.3 は入らないらしい. binutils と gdb はアップグ レードするそうだ.

* [X] NVidia drivers on NetBSD

2/24
* 忙しいのもひと段落したので, 追っかけを再開. 1.6O にしまし た. scheduler activations (SA) カーネルで起動する時少しどきどきしまし たが, 普通に使っている分には何ら問題ありません. SA カーネルは, マルチ プロセッサなマシンだと面白いんだろうなぁ.

* pkgsrc で入れていた pth を取り除いて, native pthread (/usr/lib/libpthread.*) をリンクするように, かなり多くのパッケージをコ ンパイルし直しました. 今のところ問題は起きていません.

* カーネルコンパイルエラー:
In file included from /usr/src/sys/fs/smbfs/smbfs_subr.c:51:
/usr/src/sys/fs/smbfs/smbfs.h:64: field `export' has incomplete type
*** Error code 1
SMBFS なんて使えるようになってたのね. あとで試してみよう.

2/8
* [NEWS] native pthread と scheduler activations のメイン開発者 Nathan さんによる -current のバグリストの報告. こちら

1/24
* [NEWS] /usr/src/build.sh のオブションが変わりました. "./build.sh -h" 参照. 確かに前のは分かりにくかった.

* [PKG] misc/openoffice が初めて(!)コンパイルできました. かなーりの時 間と数 GB の HDD 容量とちょっとの忍耐が必要です. しかし, 実行してみる と挙動が変だぞ...

1/22
* nathanw_sa ブランチマージ後の -current はまだ不安定 (特にマルチプロ セッサカーネル) なようなので, マージ直前の状態でしばらく様子を見ようと 思います. (ほんとは, がんがん使ってバグ出しに協力した方がいいんでしょ うが, 今はちと忙しいので...) ちなみに, マージ直前のソースは
$ cd .../src
$ cvs up -D'Fri Jan 17 21:52:12 UTC 2003'
で取り出せます. (カーネルソースならタグ 'nathanw_sa_before_merge' で取 り出せます)

1/20
* nathanw_sa ブランチのマージは終了したようです. ただ, コンパイル できなかったり panic したりするようなので, まだ試してません.

1/18
* Sun StarSuit 6.0 が動いたそうです. こちら のスレッド .

* [TIPS, KERN] カーネルデバッグについて. ddb では, ソースコードレベル (シンボルを使った) デバッグはできない. kgdb を使え.

* [NEWS] nathanw_sa ブランチが trunk にマージされます. これにより, pthread が native で動くようになります. 今日あたりから作業が始まるはず です. まずカーネル, 次にユーザランドと段階的にコミットされるようで す. current-users に流れるアナウンスは要チェックです.

* [TIPS, X] 2002 10/24 に書いたように xfs 使ってるんですが, 使っている うちにどんどんメモリを消費してしまいます. /usr/X11R6/lib/X11/fs/config に
deferglyphs = all
を入れて, X を
startx -- -deferglyphs all
の様に起動すると, プロセスが太らないようになるようです.

1/9
* いつの間にか single user mode のコンソールで /bin/sh って, コマンド ライン/ヒストリ編集ができるようになってたんですね. 便利です.

2003年

12/26
* 12/10 に, "./build.sh -E" でコンパイルを行っていると書きましたが, 方 針を改めました. toolchain の内部ツール間の依存関係の更新順序問題でコン パイルエラーが頻繁に起きるからです(たとえば yacc). "./build.sh -D /usr/destdir -U -u -w ~/bin/nbmake" を実行した後, "sudo ~/bin/nbmake installworld" で / に展開して, "sudo /usr/sbin/etcupdate" してます. "./build.sh -E" の方法に比べて 116M (DESTDIR) 余計にディスク容量が必要になります.

12/21
* [NEWS] 12/19, NetBSD CVS リポジトリのモジュール構造が変更になりまし た. 必ず手元のミラーしているリポジトリや checkout したソースツリーの構 造を変更してから, サーバにつないで update を行いましょう. 移行のための スクリプトは こちらから.

* カーネルコンフィグオプション
# Enable experimental buffer queue strategy for better responsiveness under 
# high disk I/O load. Use it with caution - it's not proven to be stable yet.
options       NEW_BUFQ_STRATEGY
付きのカーネルでここのところ過ごしてますが, 特に問題は起こっていません. でも, responsiveness の改善はあまり体感できないような...?

* newbtconf (multiple boot-up configurations) なるものを知った. note pc にさっそく導入しよう. note pc のネットワーク環境は場所によってかな り変わるので, そのあたりの設定を起動時に変えるスマートな方法は何かずっ と疑問でした. 疑問一つ減りました.

* [NEWS] 12/14, BSD Magazine No.14 の発売日でした. みなさま, デフォで買いましょう. 笑.

* [NEWS] 12/11, RelCache のスナップショット. バイナリの実行が 37% もはやくなるらしい.

* [TIPS] IDE ディスクの hot-plug はサポートしていない. しかし, Manuel Bouyer さんによると, 同じサイズのディスクには交換できる(はず)らしい.

* [TIPS, USERLAND] コンパイル & インストールする正攻法.
build.sh -D /foo
cd distrib/sets
make DESTDIR=/foo INSTALLDIR=/ installsets
etcupdate
ちなみに, リスクを伴うのが "build.sh -E" の方法ね.

12/10
* SIGINFO について. fsck や dd の実行中に ^T を押すとその状態が出力さ れるらしい. 知らなかったです. ふと gcc でコンパイル中に押してみると,
load: 4.14  cmd: cc1 5624 [runnable] 4.74u 0.02s 18% 6624k
と出力された. おもしろい.

* [USERLAND] build.sh to prevent DESTDIR=/ by default. 今日から -E 付けて build.sh 実行 してます. on the fly でコンパイルして終わったものからインストールして いきます.

* [PKG, TIPS] /etc/mk.conf に "PKG_SUFX?=.tbz" を加えると, make package で作られるパッケージが gzip ではなく bzip2 で圧縮されたものに なる.

12/9
* [NEWS, X] NVidia binary driver. 僕も NVidia のユーザ (RIVA TNT) なので, 近いうちに 試してみます.

* [TIPS, USERLAND] システムを最新のコードに更新するとき, "release を作っ て tarball を / に展開" と "DESTDIR=/ で build.sh" の2つの方法があ る. 前者を公式にサポートし推奨する. 後者は公式にサポートしないが動くよ うにしていくとのこと. 僕はいつも後者の方法を行っています. 不具合が起こっ たら起こったで, なんとかしますし. だって, 毎回 release を作るのめんど いじゃないですか.

12/5
* RelCache と Red Hat prelink との比較.

12/4
* [NEWS] RelCache. ELF prebinding. checksum の方式をどうするかで議論が白熱中.

* [PKG] パッケージの作り方の説明. step by step で書いてあって分かりやすい.

* [PKG] gcc3 パッケージ. 時間があったら試してみよう.

* [KERN, TIPS] 去 年の 12/11 のところで書いた vm.{anon,exec,file}{min,max} の意味について . なかなか tuning が難しいみたい.

* [NEWS, X] Radeon 用の開発中のドライバ. まだ unstable らしい.

* [PKG] graphics/moz-flash を使ってみたが, これより 10/29 に書いた方法 の方がうまく flash player が動くみたい. こっちの方は, Shockwave Flash 5.0 を使っているからかなぁ.

* [TIPS, USERLAND] afterboot(8) が加わった (OpenBSD からもってきたらし い). NetBSD をインストール後にやるべき事が書いてある. インストールが終 わって再起動させたら, とりあえず man afterboot すべし.

12/1
* [PKG] devel/gettext-lib が 0.10.35nb1 にバージョンアップしまし た. libintl のメジャーバージョンが 1 から 4 に上がったので, libintl.so.1 をリンクしているものは動かなくなります. 人によってはかな りの数のパッケージが動かなくなる可能性がありますのでアップグレードには 注意が必要です!

* [PKG] graphics/freetype2 の buildlink2.mk がうまくない. XF4 がインス トールされている時にはその libfreetype を使うんですが, XF4 付属のやつ には libfreetype.la がないので gnome 関連のパッケージのコンパイルが失 敗する. どう変更するのがいいのかなぁ...

* [PKG] mplayer が MMX2 を使うようになってる. いつの間に?

11/27
* [KERN, BUG] Linux エミュレーションと chroot の問題. PR 19161.

11/25
* [USERLAND] /usr/include/stdbool.h で
#define bool _Bool
と 定義されてる bool 型ですが, 現状では _Bool が未定義なためコンパイルエ ラーとなってしまう(例えば pkgsrc/lang/clisp など). これは _Bool が C99 仕様に準拠したコンパイラで定義されるべきもので, 現在のソースツリーにあ る gcc (2.95.3) では対応していないことによる. clisp をコンパイルするに は, 一時的に, /usr/include/stdbool.h を削除してしまうか, または FreeBSD や OpenBSD のように _Bool の定義を書いておくとよい.

* [PKG, TIPS] "make install clean" は, 未定義の動作である. "make install && make clean" を使え.

11/22
* [USERLAND] /etc/postinstall がシステムにインストールされている obsolete なファイル/ディレクトリを削除するようになりました.
...
obsolete check:
        Remove obsolete directory /var/named/var/tmp
        Remove obsolete directory /var/named/var/run
        Remove obsolete directory /var/named/var
        Remove obsolete directory /var/named/usr/libexec
        Remove obsolete directory /var/named/usr
        Remove obsolete directory /var/named/etc/namedb/cache
        Remove obsolete directory /var/named/etc/namedb
        Remove obsolete directory /var/named/etc
        Remove obsolete directory /var/named/dev
        Remove obsolete directory /var/named
        Remove obsolete directory /var/empty
...
* [USERLAND, TIPS] src/lib/checkoldver を使うとシステムにインストール されている古い shared library をリストしてくれる. これを使って簡単に古 い shlibs を削除できる.
さっそくシステムのお掃除をしたら, やはり 古い shlibs をリンクしてるパッケージが数個あった. それらを再コンパイル した. おかげで動作が怪しかった mplayer がちゃんと動くようになっ た. :-)

11/20
* 数日前から www.jp.netbsd.org が落ちてるみたいです. 追っかけもストッ プ中.

11/16
* 9/6 に書いた, X のログに "_XSERVTransSocketUNIXAccept: accept() failed" が多量にでる問題は, 最近見なくなりました. 何が原因だったのでしょ う?? (きっと小人さんが fix してくれたにちがいない :-)

11/15
* カーネル config エラー:
$ config GENERIC
../../../../compat/freebsd/files.freebsd:12: duplicate file compat/freebsd/freebsd_file.c
../../../../compat/darwin/files.darwin:11: here is the original definition
*** Stop.
* ユーザランドコンパイルエラー:
/usr/src/tools/obj.i386/tools.NetBSD-1.6K-i386/bin/i386--netbsdelf-gcc   -o ldd -nostdlib  -Wl,-rpath-link,/lib:/usr/lib  -L/lib /usr/lib/crt0.o /usr/lib/crtbegin.o ldd.o xmalloc.o debug.o map_object.o load.o search.o headers.o paths.o  -L/usr/lib  -lgcc -lc -lgcc /usr/lib/crtend.o
search.o: In function `_rtld_load_library':
search.o(.text+0x129): undefined reference to `_rtld_dlerror'
search.o(.text+0x275): undefined reference to `_rtld_dlerror'
collect2: ld returned 1 exit status
*** Error code 1

Stop.
nbmake: stopped in /usr/src/usr.bin/ldd/ldd_elf
11/14
* [NEWS] netbsd-1-6 pkgsrc ブランチで作った 1.6, i386 用のバイナリパッ ケージ一式が ftp サーバにアップロードされました.

11/7
* [TIPS] 8/6 に書いた sudo の出力をリダイレクトする方法についてですが, ふと気づいたら "sh -c" を使わないでも普通に
$ sudo ls > ls.out
$ ls -l ls.out
-rw-r--r--  1 ryoh  users  347 Nov  7 16:42 ls.out
でできるようになってました. sudo-1.6.6 と static-bash-2.05 の組み合わ せです.

11/6
* [PKG] pkgsrc に gnome2 関連のパッケージがたくさん入りました.

* [PKG] gnome 関連のパッケージをコンパイルしていると undefined reference to `bind_textdomain_codeset' と言われて失敗することがあ る. PR 18491 参考. 回避法としては, devel/gettext-lib/buildlink2.mk を include して USE_GNU_GETTEXT を定義しなければ, /usr/lib/libintl.so が 使われるので, コンパイル自体はできるようになる (/usr/lib/libintl.so に は, bind_textdomain_codeset のダミー関数がある). gettext-lib のバージョ ンが上がればこの問題は生じなくなるらしい.

11/5
* [TIPS] /rescue を PATH に含めることは推奨されない.

* [TIPS] シリアルコンソールを使う時は /dev/ttyE0 ではなく /dev/console を使う.

* NEW_BUFQ_STRATEGY 付きのカーネルだと高負荷時のレスポンスがかなりよく なるそうだ.

11/2
* crtend.o 問題を解決! (src/gnu/dist/toolchain/ld/emultempl/elf32.em rev. 1.3)

* crtend.o 問題を追っている時, gcc がリンク時に /usr/bin/ld ではなく /usr/libexec/collect2 を使っているのに気づいた. collect2 の最終更新日 は "Aug 28, 2001" なのでとても古い. /usr/libexec/{collect2,cpp} を削除 した. ときどき古いファイルをチェックしなくちゃな.

10/29
* [PKG] 10/22 に書いた xmms と pth の問題ですが, xmms-1.2.7nb3 と pth-1.4.1nb5 で解決しました.

* [TIPS] mozilla で Flash Player を使ったページを開くたびにポップアッ プウィンドウが開いてうっとうしい. また, Flash Player がないと先に進め ない web page があったりするから, さらにうっとうしい. こういうページは, Windows で見ないといけないから面倒だった. 塩崎さんの方法 (Linux 版 Flash Player を native な mozilla のプラグインとして動かす) を使うとそ のようなページを見ることができてしまいます. こちら ただ, 音が出な かったりときどき文字化けしたりしますが, ページを開けるだけで十分役立っ ています(そのページを手間をかけてでも読むべきかどうか判断できるから).

* [NEWS] 10/16, 議論の末, pax で tar と cpio が置き換えられました. gnu tar とはおさらばです.
$ ls -il /bin/{pax,tar,cpio}
13948 -r-xr-xr-x  3 root  wheel  - 107976 Oct 26 08:41 /bin/cpio
13948 -r-xr-xr-x  3 root  wheel  - 107976 Oct 26 08:41 /bin/pax
13948 -r-xr-xr-x  3 root  wheel  - 107976 Oct 26 08:41 /bin/tar
* [TIPS] ディスクラベルがおかしくなってしまった時には, いつでも
# dd of=/dev/r?d?d if=/dev/zero bs=8k count=1
で初期化できる.

* [TIPS] VMWare などを動かす際には, /emul/linux/proc に procfs を "linux" オプション付きでマウントしよう.

10/26
* /etc/mk.conf で yes/no を設定するところで, man では yes/no を使って ますが, YES/NO でも YeS/nO でも大文字小文字は関係ないそうです.

* [TIPS, PKG] あるマシン(A)にインストールしているパッケージを, 別のマ シン(B)に同じパッケージをインストールする方法. まず, マシンAでリストを 作る.
$ pkg_info -B \* | awk '/PKGPATH/{print $2}' > /usr/pkgsrc/pkgchk.conf
次に, マシンB に pkgchk.conf をコピーし, pkgtools/{pkgchk,xpkgwedge}, devel/cpuflags などをまずインストールしてパッケージをインストールする 環境を整える. そして
# pkg_chk -a
を実行する.

* [BUG] sun-jdk14-0nb1 は不安定らしい.
$ java -jar ${JAVA_HOME}/demo/jfc/Java2D/Java2Demo.jar
を実行して, タブをぽちぽちやってると hang する.

* Promise Ultra100TX2 は, CD-ROM に対して DMA のみをサポートしているら しい. なので interrupt のエラーが起きて転送モードが downgrade するらし い. CD-RW に対してはそのような制限はない. 確かに僕が使っている Ultra100TX2 でそのような挙動を示している.

10/25
* [TIPS, PKGSRC] パッケージ名からその pkgsrc カテゴリを知りたいことが よくある. 最新の INDEX ファイルがあればそれで一発なんですけど, make index すると恐ろしいくらい時間がかかるし, 頻繁に pkgsrc を更新している と INDEX ファイルの最新を保つのが大変. それで, INDEX ファイルを使うの はあきらめて他の方法を考える.
インストールされているパッケージの 場合には, こうすれば OK:
$ pkg_info -B <PKG_NAME> | egrep PKGPATH
インストールされていないパッケージの場合には, locate や勘で 'find /usr/pkgsrc/CATEGORY' などした方が早いかも.

* 9/23 頃, システムバイナリがすべて動的リンクになりました. 参照 もちろん僕のマシンも移行してます. 移行して1ヶ月になりますが, no trouble です.:-)

* [PKGSRC] 思いのほかたくさんの make target がある. 便利そうなのもあり そう.
$ egrep '^.if !target' /usr/pkgsrc/mk/bsd.pkg.mk
print-build-depends-list, print-run-depends-list あたりは覚えておこう.

* [TIPS] FreeBSD の sockstat 相当のものは NetBSD にはないの?
$ fstat | grep internet
NetBSD の *stat コマンドは便利なものが多いです.

10/24
* [TIPS] 新規に HDD を増設するとき, fdisk(8) -> mbrlabel(8) -> disklabel(8) と設定していくと思います. mbrlabel(8) して in-core disklabel を更新したのに, disklabel(8) にはその設定が反映されていない ことがあります. これは, mbrlabel(8) の後, カーネルがディスクをクローズ してしまい, in-core disklabel を捨ててしまう事によるものです. なので, こうしてディスクをオープンしとけばいいです.
# sleep 120 < /dev/rwd?d &
実は, 僕もこの間これではまったばかりなのです(^^;

* [TIPS] ディスクデバイスが "uncorrectable data error" とログをはいた ら, ハードウェアの方の不具合が起こったということを意味する.

* [TIPS, X] xfs (X font server) をぜひ使うべし. X サーバで TrueType フォ ントのレンダリングをやらせると, X が数秒の間フリーズしてしまい使いにく いからです.

10/22
* [PKG] pth-1.4.1nb3 にアップグレードすると xmms などが動かなくなるの で注意. workaround としては, POSIX_THREAD_SYSCALL_SOFT=1 を定義してコ ンパイルすればとりあえず動くようになるらしい. PR 18743 を参照のこと.
==> pth-1.4.1nb4 で fix されました.
==> と思ったら, xmms が音楽を再生してないのに爆走するじゃないですか. fix が不十分な模 様...
load averages:  2.77,  3.12,  2.66                                     00:54:42
89 processes:  3 runnable, 85 sleeping, 1 on processor
CPU states: 54.2% user,  0.0% nice, 45.8% system,  0.0% interrupt,  0.0% idle
Memory: 324M Act, 4444K Inact, 3200K Wired, 4212K Exec, 169M File, 593M Free
Swap: 256M Total, 256M Free

  PID USERNAME PRI NICE   SIZE   RES STATE      TIME   WCPU    CPU COMMAND
 4385 ryoh      64    0  1708K 4740K RUN        4:40 96.68% 96.68% xmms
 ...
pth-1.4.1nb5 でもだめです.

10/19
* [BUG] 1.6, 1.6I ともに mount_union -b に不具合があるようだ. file system にアクセスにいったまま戻ってこないことがある. つまり, hang up してしまうのだ. ddb に落として ps して uvm_lock になっているプロセスを tr してみると, segmentation fault する... 再現条件はまだ不明. 安定動作 を目指すシステムでは使わない方がいいかも.

10/17
* toolchain のコンパイルエラー:
...
dependall ===> pax
cc -O -I/usr/src/tools/compat/obj.i386 -I/usr/src/tools/compat/obj.i386/include  -I/usr/src/tools/pax/../compat -DHAVE_CONFIG_H  -D_FILE_OFFSET_BITS=64  -I/usr/src/usr.sbin/mtree  -I/usr/src/sbin/mknod  -I/usr/src/bin/ls -c -o ar_io.lo.o /usr/src/tools/pax/../../bin/pax/ar_io.c
/usr/src/tools/pax/../../bin/pax/ar_io.c: In function `ar_read':
/usr/src/tools/pax/../../bin/pax/ar_io.c:779: `is_oldgnutar' undeclared (first use in this function)
/usr/src/tools/pax/../../bin/pax/ar_io.c:779: (Each undeclared identifier is reported only once
/usr/src/tools/pax/../../bin/pax/ar_io.c:779: for each function it appears in.)
/usr/src/tools/pax/../../bin/pax/ar_io.c: In function `ar_next':
/usr/src/tools/pax/../../bin/pax/ar_io.c:1398: `is_oldgnutar' undeclared (first use in this function)
*** Error code 1

Stop.
nbmake: stopped in /usr/src/tools/pax
10/10
* カーネルコンパイルエラー:
$ make dependall
...
/usr/src/tools/obj.i386/tools.NetBSD-1.6I-i386/bin/i386--netbsdelf-gcc  -pipe -ffreestanding  -march=pentiumpro -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-uninitialized  -Di386 -I.  -I../../../../arch -I../../../.. -nostdinc -DLKM -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT   -c /sys/arch/i386/compile/GENERIC/../../../../compat/linux/common/linux_blkio.c
In file included from /sys/arch/i386/compile/GENERIC/../../../../compat/linux/common/linux_blkio.c:52:
../../../../compat/linux/common/linux_types.h:97: parse error before `['
cc1: warnings being treated as errors
../../../../compat/linux/common/linux_types.h:97: warning: no semicolon at end of struct or union
*** Error code 1

Stop.
nbmake: stopped in /sys/arch/i386/compile/GENERIC
10/9
* カーネルコンパイルエラー:
$ make dependall
...
/usr/src/tools/obj.i386/tools.NetBSD-1.6I-i386/bin/i386--netbsdelf-gcc  -pipe -ffreestanding  -march=pentiumpro -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-uninitialized  -Di386 -I.  -I../../../../arch -I../../../.. -nostdinc -DLKM -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT   -c /sys/arch/i386/compile/GENERIC/../../../../compat/linux/arch/i386/linux_machdep.c
/sys/arch/i386/compile/GENERIC/../../../../compat/linux/arch/i386/linux_machdep.c: In function `linux_setregs':
/sys/arch/i386/compile/GENERIC/../../../../compat/linux/arch/i386/linux_machdep.c:147: structure has no member named `pcb_flags'
*** Error code 1

Stop.
nbmake: stopped in /sys/arch/i386/compile/GENERIC
9/20
* [PKG] パッケージ付属の rc.d スクリプトが, デフォルトで自動的に /etc/rc.d にインストールされないようになりました. 自動的に /etc/rc.d にインストールしたい場合には, /etc/mk.conf に "PKG_RCD_SCRIPTS=YES" を 加えればよいです.

* [TIPS, PKG] pkg_info(1) の -F オプションは
# pkg_info -F -e /usr/pkg/share/mplayer/codecs.conf
mplayer-share-0.90rc6
のように使うそうだ. installed file から package name を得るのに使えま す.

9/18
* [TIPS, BUG] NetBSD 1.6 のインストール中, pax で tarball の展開をして いる最中に Segmentation fault してしまうことがある. これは "展開の様子 を見る?" という質問に "NO" と答えれば避けられる. curses のバグらしい.

9/16
* [NEWS] 9/14 に, NetBSD 1.6 がリリースされました. 早速, 周りの 1.5.3 マシンたちをアップグ レードしてます.

* [BUG, X] xtt で, mozilla を使ってると X server ごと落ちてしまうこと があるらしい. freetype を使えば問題なし. 僕は freetype を使っているの で遭遇せず.

9/10
* [NEWS] タグ netbsd-1-6-RELEASE が打たれたようです.

9/8
* [NEWS] NetBSD1.6 は, 今月中に出るそうです!(現在 RC3)

* [PKGSRC] buildlink2 が導入されて, コンパイルできないパッケージがいく つかあるみたいです. ですが, 一時的なものでしょう.

9/6
* [NEWS] スナップショットが出ました. こちら

* [NEWS] XFree86 4.2.1 がインポートされました. こちら
これにアップグレードしたら, 7/31 に書いた
_XSERVTransSocketUNIXAccept: accept() failed
な問題が解決されたりしないだろうか...

9/3
* 読み物. IRIX Binary Compatibility. NetBSD のバイナリエミューレーションの仕組み がわかります.

* [TIPS] pkg_tarup で生成される package tarball がいつも /tmp に置かれ るのが嫌で何とかならないかと思ってる人. たとえば, 以下のように実行しま しょう.
$ PKGREPOSITORY=/usr/pkgsrc/packages/All pkg_tarup mozilla
mozilla のパッケージが /usr/pkgsrc/packages/All にできます.

* [TIPS,PKGSRC] あるパッケージをアップグレードする時, make update する とこのパッケージに依存しているパッケージすべてを再コンパイル & イ ンストールすることになってしまい, とても大変だ. アップグレードするライ ブラリのメジャーバージョンが上がっていない場合には (ABI が変わっていな いものと考えて), make replace, pkg_add -u, /etc/mk.conf に DEPENDS_TARGET=replace を加えた make update, のいずれかを実行すると, リスクは伴うが, 幸せかもしれない. 僕はいつも make replace (正確には, それ相当の方法) でパッケージをアップグレードしている.

8/28
* NetBSD では BSD/OS にあるような static shared library はサポートして いない.

8/27
* [TIPS, PKG] パッケージを更新して, 実行してみたらうまく動かない. そう いう時は, 自分のホームディレクトリにある関係ありそうなドット(.)ファイ ル/ディレクトリ(たとえば ~/.gnome, ~/.mozilla, etc.)を消してみよう. こ れで問題が解決することが結構ある.

* コンソールで画面スクロールできないの? -> 今のところできません. で きるようになる非公式パッチは存在するようです.

* [NEWS] 数日中に /bin と /sbin のバイナリを動的リンクにするぜ!という 内容が current-users ML で流れました. さまざまな異論があるようです. 議 論が白熱してます. 静的リンクにしてあるのは, NetBSD の一つの特徴でした からね. NetBSD の方向性を大きく変える こちらから始まる一連のスレッドをじっくり読んでみるのも面白いかもし れません. 僕は, /rescue がしっかりしていれば(復旧の仕組みがちゃんとし ていれば)動的リンクバイナリでもいいのではないかと思ってます. あ, でも shlibs 関連のトラブルに陥って悩みそうでイヤだな...(^^;

* [NEWS] gcc-3.2.1 バイナリパッケージが公開されてます. こちら

* ftp.netbsd.org の IPv6 アドレス番号変更のため, 環境によっては ftp -a6 で接続できないことがある. 僕のところでは, 6/30 頃から現在までとき どきつながらなくなってるみたい. 直接, 新しいアドレス 2001:4f8:4:b:2e0:81ff:fe21:6563 を使えば, IPv6 で接続できます. IPv4 な ら問題ありません.

8/25
* [PKGSRC] converters/libiconv の shlibs のメジャーバージョンが上がっ たので, これをリンクしているものはすべて作り直さないといけません. かな りの数のパッケージを作り直さないといけないはずなので手間がかかりま す. 更新する際は気をつけて.

* [TIPS] raidframe raid1 (ミラーリング) 上に NetBSD をインストールする 方法 (そこから起動もできるように). raid1 の特性を使った巧妙な方法です. こちら. 僕も raid1 使ってますが root ファイルシステムは raid にし ていません (ffs). NetBSD のリリースにはカーネルとユーザランドが両方含 まれており, root ファイルシステムを raid にする必要性はあまり感じてま せん.

* [KERN, BUG] linux エミュレーションで動いているプログラムが NFS でマ ウントしたディレクトリにアクセスできない問題がある. compat_linux(8) の BUGS 節を参照のこと. mount_nfs -X でマウントすると問題を回避できるらし い.

* [PKG] misc/openoffice がコンパイルできずにお困りのあなた, まず java 関連のパッケージをすべて deinstall してみてください. sun-jdk13 じゃな いとコンパイルできません.

8/11
* cal の -3 オプションを見つける. こりゃ便利.

8/9
* [NEWS] -current 1.6E i386 の スナップショット.

* 1.5.2 から 1.5.3 (またはもうすぐリリースされるであろう 1.6) にアップ グレードする際には, 全ディスクを作り直した方がいいらしい. こ ちら

8/7
* デフォルトのシステムリソースの soft limit のサイズでは, 一プロセスあ たりに許されている C++ コンパイラや Java のデータセグメントのサイズが 足りないぞ!といって動かないことがあったりする.
$ /usr/pkg/java/sun-1.4.0/bin/javac -J-version
Error occurred during initialization of VM
Could not reserve enough space for object heap
$ cd /usr/pkgsrc/x11/kdelibs3; make
...
c++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I./.. -I./../kssl
-I../../dcop -I../../libltdl -I../../kdecore -I../../kdeui -I../../kio
-I../../kio/kio -I../../kio/kfile
-I/usr/pkgsrc/x11/kdelibs3/work.i386/.buildlink/qt3/include
-I/usr/pkg/share/x11-links/include
-I/usr/pkgsrc/x11/kdelibs3/work.i386/.buildlink/include
-I/usr/pkgsrc/x11/kdelibs3/work.i386/.buildlink/include
-I/usr/pkg/share/x11-links/include
-I/usr/pkgsrc/x11/kdelibs3/work.i386/.buildlink/include
-D_LARGEFILE64_SOURCE -pthread -DQT_THREAD_SUPPORT
-I/usr/pkgsrc/x11/kdelibs3/work.i386/.buildlink/include
-I/usr/pkg/share/x11-links/include
-I/usr/pkgsrc/x11/kdelibs3/work.i386/.buildlink/include -O2
-I/usr/pkgsrc/x11/kdelibs3/work.i386/.buildlink/include
-I/usr/pkgsrc/x11/kdelibs3/work.i386/.buildlink/include -O2 -pipe
-pipe -I/usr/pkg/share/x11-links/include -fno-exceptions
-fno-check-new -DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE
-DQT_NO_ASCII_CAST -DQT_NO_COMPAT -c global.cpp
-Wp,-MD,.deps/global.TPlo -fPIC -DPIC -o .libs/global.o
c++: unrecognized option `-pthread'
global.cpp: In function `class QByteArray KIO::rawErrorDetail(int, const QString &, const KURL * = 0, int = -1)':
global.cpp:1163: virtual memory exhausted
cpp0: output pipe has been closed
gmake[3]: *** [global.lo] Error 1
gmake[3]: Leaving directory `/usr/pkgsrc/x11/kdelibs3/work.i386/kdelibs-3.0.2/kio/kio'
...
sysctl や login.conf で hard limit の値を大きくしてあげるとよい. でも, そのサイズはメインメモリの容量と相談して決めましょう. hard limit size = main memory size なんかにしてしまうと thrashing を起こすことがありま す.

* grep に -r オプション (recursive) があることを知る. (^^; こりゃ, 便 利だ.

8/6
* [X, TIPS] XFree86 で TrueType フォントを使うための設定方法.

* [TIPS] sudo でよくリダイレクトを使いたいときがあります. でも, 次の様 にしても動きません.
$ sudo ls > list
$ sudo 'ls > list'
リダイレクトは sudo の機能じゃなく shell の機能なので,
$ sudo sh -c 'ls > list'
とするのが正しいようです.

* [TIPS] あるパーティションがいっぱいになってしまった時, どうするか?
-> パーティション自身を拡張して大きくすることはできない (FreeBSD には growfs(8) というものがあるらしいが). なので, 他のパーティ ションへ symbolic link を張るなどする.

* NetBSD に付属している man, info 以外のドキュメント. A Tour through the NetBSD Documentation Part III: Runoff Documentation, Part IV: Loose Odds & Ends

* rc.d システムに関する論文. The Design and Implementation of the NetBSD rc.d system

* カーネルソースツリーの解説. A Tour through the NetBSD Source Tree - Part III: Kernel

8/5
* [NEWS] バイナリアップデートサービスをやる会社があるらしい. Binary Updates for NetBSD

* [KERN] Nathan さんのカーネルスレッドに関する論文 (An Implementation of Scheduler Activations on the NetBSD Operating System). nathanw_sa ブランチにて開発進行中.

7/31
* [KERN] PR 17724 と似たような問題で何度も panic した. はまったはまっ た. (^^; こんな感じ:
uvm_fault(0xc0414480, 0x0, 0, 1) -> e
kernel: page fault trap, code=0
Stopped in pid 8 (pagedaemon) at 0: invalid address
db> tr
Faulted in DDB; continuing...
db>show reg
ds      0x10
es      0x10
fs      0x10
gs      0x10
edi     0x1000
esi     0xc0cff000      end+0x8d7534
ebp     0xd3869d9c
ebx     0
edx     0xc0a53b00      end+0x62c034
ecx     0xc0cfe000      end+0x8d6534
eax     0
eip     0
cs      0x8
eflags  0x10282
esp     0xd3869d50
ss      0x10
        0:      invalid address
db>
null mount 多用してるしなぁ. こういう時のために 1.5.3 リリースマシンが あるのだが, ちょうどこちらは HDD 不良のためダウン中... こういう時って, 重なるんだよなぁ... でも, sys/miscfs/fifofs/fifo_vnops.c rev. 1.34 で 直ったみたい.

* 最近, XFree86 4.2.0 でときどき新しくウィンドウを出すタイミングで /var/log/XFree86.0.log に多量のエラー
_XSERVTransSocketUNIXAccept: accept() failed
が出て, 途端にレスポンスが悪くなることがある. 大抵 mozilla を終了させ ると復帰する. X や mozilla とその関連のソフトウェアを再コンパイルして も直らない. なんでだろ?

* [KERN] union fs の上に null fs をマウントしてアクセスすると panic す るらしい. stackable file system ってモデル的に美しいし面白いんだけど, 同期やロックの取り扱いが難しくて問題ですね. 完全に動く日が果たしてくる んだろうか.

7/24
* [NEWS] NetBSD 1.5.3 がリリースされました. 1.6 のリリースプロセスも始まってるし, もう出ないかと思ってましたが, 出たようです. 重要なセキュリティ問題もか なりありましたし, 早速 1.5.2 マシンをアップグレードしよう.

* [TIPS] /etc の下のアップグレードには, ソース src.tgz を持って来て, etcupdate (pkgsrc/sysutils にもあります) を使えば楽ちん楽ちん. 慣れれ ば, あっと言う間に終ってしまいます. :-)

7/22
* 深海さんによる NVIDIA nForce チップセットでの NetBSD の使い方. こちら

* [NEWS] パッケージツール (pkg_*) の PKG_PATH の扱いが変わったようです. こちら

7/17
* [KERN] i386 MP コードの簡単な CVS からの取り出し方. こち ら

* [KERN] NetBSD 1.6 i386 でサポートするメモリの最大容量は, 3.5G.

7/16
* 7/5 に書いた, wsmoused がコンソールでカット & ペーストできない問 題ですが, 直ったようです. man に書いてありますが, /etc/ttys でコンソー ルを /dev/console でなく /dev/ttyE0 にするのを忘れずに.

* [PKG] pkgsrc/devel/cvsup の 16.1.d バージョンが remote-root-shell vulnerability を持ってるので, pkg_delete し, 手で ここから 16.1f をインストールしました. pkgsrc のものが新しくなるま でこれを使います.

7/12
* [PKG] opera 6.02 (www/opera6) を試してみた. 5/11 に試したときは日本 語が表示できなかったけど, rm -rf ~/.opera を実行後, 日本語が表示できる ようになりました. マウスジェスチャーには賛否両論あるけど, 僕は使いやす いと思った.

* [KERN] -current に更新するとき, 要注意です. libc が 12.85 になって, カーネルが 1.6D じゃないと, static link してない全てのバイナリが bad systemcall で実行できなくなってしまいます(もしやってしまっても, NetBSD の基本コマンドは static link されてるので復旧できます). ちゃんと新しい カーネルにしてからユーザランドを更新しましょう.

7/10
* [TIPS] Mozilla に日本語を入力する方法について. 5/14 の所に書いたよう に, XFree86 4.2.0 で gtk を使ったアプリケーションに日本語入力をしよう とすると core ダンプしてしまう問題があったが, xsrc/xfree/xc/lib/X11/XlcDL.c rev 1.3 でこの問題が解決しました.
Mozilla に kinput2 を用いて日本語入力する場合は,
$ kinput2 -canna &
$ export XMODIFIERS="@im=kinput2"
$ LC_ALL=ja_JP.eucJP mozilla &
のように起動すればよいです.
XFree86 4.2.0, お勧めです! (VGAドライバの未対応問題が無ければ)

7/6
* 先輩から ccache というものを 教えてもらった. pkgsrc を調べるとちゃんと devel/ccache に入ってるじゃ ないですか. 早速インストールして試してみる. 例によってカーネルコンパイ ルにかかる時間で比較してみる:
Without ccache: 359.67 real       307.96 user        21.44 sys
With ccache:    128.36 real        28.06 user         9.83 sys
約 2.8 倍になっている. これは使える. :-)
しかし, libtool とは相性が悪いらしい.
libtool: compile: unable to infer tagged configuration
libtool: compile: specify a tag with `--tag'
と言われてしまう.

7/5
* wsmoused(8) により, コンソールでマウスが使える (カット & ペース トができる) ようになりました. これは X を立ち上げずに, 設定ファイルを 書き換えたりプログラミングをする際にとても便利な機能です. でも, 僕のと ころではペーストができないぞ...

* [TIPS] gcc のオプションに -pipe を付けるとコンパイルがすごくはやくな るというお話し. もちろんデフォルトで使ってます. /etc/mk.conf に
CFLAGS+= -pipe
CXXFLAGS+= -pipe
を加えると良いです.
手元にある -current GENERIC カーネルのコンパイルにかかる時間で比較する と, (Athlon Thunderbird 1G machine)
With -pipe: 10:45
Without -pipe: 9:10
え! 予想と異なる結果だ. ファイルシステムのキャッシュがきっと悪さしてる に違いない. 再度 -pipe 付きでやってみる.
With -pipe: 8:32
うん, やっぱ -pipe 付きの方がはやい.
-pipe 無しが遅いのは, /var/tmp が遅いディスク上にあるのも大きな原因の 一つと考えられるので (gcc はコンパイル過程の中間ファイルをそこに書き出 すから), /var/tmp を MFS にして試してみる.
Without -pipe (/var/tmp on MFS): 8:39
pipe 付きといい勝負.
ちなみに, Athlon XP 1700 machine ではこうなるそうな.
Without -pipe: 5:55
With -pipe: 4:09
僕のマシンより倍もはやいのね.

6/13
* [TIPS] WXG を NetBSD で動かす方法について. wxg-1.0b-1.tar.gz を Linux エミュレーションで使用します. emulators/suse_linux をインストー ルしておいてください. ("e 言葉" が行っていた wxg のサポートが打ち切ら れてしまいましたので, アーカイブはどこからか手にいれてください (^^;; 今でも再配布可能ならこのページで僕の持っているやつを配布してもいいです けど...). 基本的に付属の README の通りに WXGINSTALL.sh を使ってインス トールします. その際, 汚いですが Makefile を以下のように変更すると NetBSD でうまく行きます (/usr/local 以下にインストールします).
--- Makefile.org        Tue Apr 23 02:25:30 2002
+++ Makefile    Tue Apr 23 02:56:11 2002
@@ -21,7 +21,7 @@
 DICABSDIR = $(WXGDIR)/dic
 
 all            : 
-
+OSTYPE = linux
 install                : 
        @case "$(OSTYPE)" in \
                FreeBSD* | freebsd* ) \
@@ -34,9 +34,9 @@
                ;; \
                Linux* | linux* ) \
                make linux -s\
-                       SBINDIR=/usr/bin \
-                       BINDIR=/usr/bin \
-                       LIBDIR=/var/lib \
+                       SBINDIR=/usr/local/sbin \
+                       BINDIR=/usr/local/bin \
+                       LIBDIR=/usr/local/lib \
                        WXG=wxg.linux.tar.gz \
                        RCFILE=wxg \
                ;; \
これで, インストールが無事終了するはずです. 最後に, Linux エミュレーショ ンのため WXG が /emul/linux 以下を見に行くので, /usr/local の方へシン ボリックリンクを張っておきます. これをしないと WXG が辞書等をみつける ことができません.
$ cd /emul/linux/var/lib
# ln -s /usr/local/lib/wxg
$ ls -l
total 4
lrwxr-xr-x  1 root  wheel   18 Apr 23 02:46 wxg -> /usr/local/lib/wxg
drwxr-xr-x  3 root  wheel  512 Apr 13 01:04 xdm
drwxr-xr-x  2 root  wheel  512 Apr 13 01:04 xkb
以上で終りです. もちろん, 普通に kinput2 -canna でちゃんと使えます. す ごく安定してます. :-) 今まで一度だけ辞書が壊れて変換するたびに wxgserver が刺さるという現象が起こりましたが, 再インストールすれば復旧 します.

* 2/12 に書いた Promise の PCI IDE カードの問題が, 実際に起こった. Ultra100TX2
pciide0 at pci0 dev 9 function 0: Promise Ultra100TX2/ATA Bus Master IDE Accelerator (rev. 0x01)
のプライマリマスタに
cd0 at atapibus0 drive 0: <RICOH DVD/CDRW MP9060, , 1.90> type 5 cdrom removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2
cd0(pciide0:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
をつなげて, cd0 をアクセスすると
pciide0:0:0: lost interrupt
        type: atapi tc_bcount: 2 tc_skip: 0
pciide0:0:0: bus-master DMA error: missing interrupt, status=0x20
cd0: transfer error, downgrading to PIO mode 4
cd0(pciide0:0:0): using PIO mode 4
pciide0:0: bogus intr
cd0(pciide0:0:0): unknown error category 8 from adapter
といわれる. だけど, 強行して使い続けると, 転送速度は遅いかも知れないけ れど, 一応使えるみたい. CD-R にちゃんと焼けました (ただし, 倍速の設定 は最低の 0 倍速にしましたけど).

ちなみに, ブート時にも
pciide0:0: bogus intr
と出てます. あやしい...

* [TIPS] 特定のアーキテクチャのソースのみ (MI なコードと特定の MD なコー ドのみ) を手にいれる方法.
-> sup 系ツールを用いて, refuse ファ イルを設定するしかない.

6/7
* 最近, cvsup.jp.netbsd.org からのリポジトリの更新量が少ないな.

* [TIPS] (tech-kern@netbsd.org ML より) NetBSD のファイルシステムを学 ぶためのとっかかり:
  1. man vfsops とそこにある参照
  2. /sys/miscfs
  3. /sys/lkm/vfs (ローダブルカーネルモジュール)

6/6
* [NEWS, PKG] pkgsrc/japanese カテゴリが無くなり, inputmethod カテゴリが新設されました.

6/1
* [NEWS] NetBSD1.6_BETA1 のスナップショットが出ました. XFree86 4.2.0 付です.

5/30
* [NEWS] NetBSD 1.6 Release Process が始まりました.

* [X, TIPS] スクリーンセイバーの設定でディスプレイの電源管理をオンにし ても, xset で DPMS をオンにしても, ディスプレイの節電モードが働かない ときには, XF86Config の Monitor セクションに Option "DPMS" を加えると 節電モードにちゃんと移行するようになる. XFree86 4.2.0 と 4.1.0 で確認 済み.

5/26
* [NEWS] 5/21 日に, ついに 1.6 のブランチがきられたようです.

* [PKG] jdk-1.4.0 が pkgsrc に入りました. はじめ起動すると,
$ /usr/pkg/java/bin/java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
とおこられるので, ulimit -d で data segment サイズを大きくしましょう.
$ /usr/pkg/java/bin/java -version
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
お, HotSpot VM ですね!

5/18
* またリポジトリが壊れてるかも. 今日 cvsup.jp.netbsd.org から cvsup し たら, Server warning: RCS file error in "/etc/cvsupd/prefixes/NetBSD.cvs/syssrc/sys/dev/vme/files.vme,v": 1: "head" expected が多量にある.

5/16
* [USERLAND] toolchain のコンパイル中, installboot のところでこける:
...
dependall ===> installboot
...
cc -O -I. -I/c/src/tools/installboot -I/c/src/tools/installboot/../mips-elf2ecoff -I/c/src/tools/compat/obj.i386.NetBSD-1.5ZC-i386 -I/c/src/tools/compat/obj.i386.NetBSD-1.5ZC-i386/include  -I/c/src/tools/installboot/../compat -DHAVE_CONFIG_H  -D_FILE_OFFSET_BITS=64  -I/c/src/tools/installboot/../../usr.sbin/installboot -I. -c -o sparc.lo.o /c/src/tools/installboot/../../usr.sbin/installboot/arch/sparc.c
/c/src/tools/installboot/../../usr.sbin/installboot/arch/sparc.c: In function `sparc_setboot':
/c/src/tools/installboot/../../usr.sbin/installboot/arch/sparc.c:128: `SPARC_BBINFO_MAGICSIZE' undeclared (first use in this function)
/c/src/tools/installboot/../../usr.sbin/installboot/arch/sparc.c:128: (Each undeclared identifier is reported only once
/c/src/tools/installboot/../../usr.sbin/installboot/arch/sparc.c:128: for each function it appears in.)
...
*** Error code 1

Stop.
nbmake: stopped in /c/src/tools/installboot
5/15
* [USERLAND] etcupdate が /usr/sbin に入りました. パッケージでインストー ルしていたものはアンインストールしました.

5/14
* [X] XFree86 4.2.0 を実際に使ってみました. もちろん 4.1.0 の環境は残 したままです. 4.1.0 からそのまま移行すると, おそらく X のほとんどのバ イナリが core を吐いて動かないことでしょう. たとえば Mozilla 君はこん な感じになります:
$ mozilla
Segmentation fault (core dumped)
$ gdb /usr/pkg/lib/mozilla/mozilla-bin mozilla-bin.core
Core was generated by `mozilla-bin'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/libexec/ld.elf_so...(no debugging symbols found)...
done.
...
(gdb) bt
#0  0x48899497 in ?? ()
#1  0x4848e0f1 in _XDynamicRegisterIMInstantiateCallback ()
   from /usr/X11R6/lib/libX11.so.6
#2  0x484740a7 in XRegisterIMInstantiateCallback ()
   from /usr/X11R6/lib/libX11.so.6
#3  0x483dbc7e in gdk_im_open () from /usr/pkg/lib/libgdk.so.12
#4  0x483cc4b7 in gdk_init_check () from /usr/pkg/lib/libgdk.so.12
#5  0x4832a06a in gtk_init_check () from /usr/pkg/lib/libgtk.so.12
#6  0x4832a4d9 in gtk_init () from /usr/pkg/lib/libgtk.so.12
#7  0x4884966c in nsAppShell::Create ()
   from /a/pkg/lib/mozilla/components/libwidget_gtk.so
#8  0x48813ba5 in nsAppShellService::Initialize ()
   from /a/pkg/lib/mozilla/components/libnsappshell.so
#9  0x8051951 in getCountry ()
#10 0x8052440 in main ()
#11 0x804cec0 in ___start ()
これは, どうやら ~/.bashrc で export XMODIFIERS="@im=kinput2" してると 起こるようです. libX11.so が悪いんでしょうかねぇ. XMODIFIERS をセット しないか, 空にしとけば, 上記の問題は発生しないので, XFree86 4.2.0 は使 えます. 不具合は今のところ体験していません. ただし, XMODIFIERS をセットしない事 による影響で, Mozilla のフォームに kinput2 で日本語入力ができませ ん. これができないと結構不便なので, また 4.1.0 に戻します...

5/12
* [NEWS] いつの間にか, i386 ポートの 1.5.3_RC2 スナップショットが出てました.

5/11
* [TIPS] NetBSD から Windows のパーティションにアクセスしたいなら, FAT32 を使用すべし. そうすれば, NetBSD から mount -t msdos でマウント でき, 安定して read/write アクセスできる. しかし NTFS (4 でも 5 でも) で作ってしまうと, NetBSD からは mount -t ntfs マウントできるが, read only のアクセスしかできない.

* [PKG] www/opera6 をインストールしてみた. 日本語の表示ができない (タ ブやタイトルにはちゃんと表示されるんだけど) 以外はちゃんと動いてるみた い. # 日本語が表示されないのは Linux emulation のロケールまわりの設定 がおかしいから? font の設定が変だから?

* 4/4 の日記の続報. シグナル周りの問題が fix されて, jdk-1.4 が動くよ うになったらしい. 参照. pkgsrc のはまだ 1.3 です.

5/7
* /usr/bin/vi のお話し: NetBSD の vi って, Berkley で Bill Joy が作っ たオリジナル vi なの?
=> NetBSD のは, その (真の) クローンの nvi だよ. ちなみに vim は vi 似のコマンドセットを持った全く別のエディ タ. 同様のもので他にも elvis ってのもあるよ. それぞれ微妙に挙動が違う んだ.

* [PKG] Emacs 21.2 が pkgsrc/editors に入ってます. 20 から乗り換えよう かな. 21 と 20 は共存できます.

4/30
* etc/postinstall が加わった. 今までは, cvs up のログを見て etc 以下の ファイルを更新していたが, これからは build.sh 一発で要更新のものがわか るようになった. 今日のアップグレードではこんな感じに動いた:
   === Post installation checks ===
sh /c/src/etc/postinstall -s /c/src/etc -d /etc check
defaults check:
        /etc/defaults/rc.conf != /c/src/etc/defaults/rc.conf
mtree check:
        /etc/mtree/special != /c/src/etc/mtree/special
rc check:
        /etc/rc.d/sshd != /c/src/etc/rc.d/sshd
        /etc/rc.d/wscons != /c/src/etc/rc.d/wscons
        Remove obsolete /etc/rc.d/NETWORK
periodic check:
        /etc/daily != /c/src/etc/daily
        /etc/security != /c/src/etc/security
ssh check:
        Move /etc/ssh/sshd.conf to /etc/ssh/sshd_config
        Move /etc/ssh/ssh.conf to /etc/ssh/ssh_config
        Obsolete rc.conf(5) variable '$sshd_conf_dir' found.
postinstall checks passed:
postinstall checks failed: defaults mtree rc periodic ssh
   ================================
4/28
* [KERN] ネットワークドライバ de がなくなって tlp に統合された. 僕も de ユーザだったので早速 tlp を有効にしてリブートしてみると
tlp0 at pci0 dev 15 function 0: DECchip 21140A Ethernet, pass 2.0
tlp0: interrupting at irq 5
tlp0: Ethernet address 00:40:33:91:e2:19
tlp0: 10baseT, 10baseT-FDX, 100baseTX-FDX, 100baseTX
の様に認識される. しかし, ネットワークを使うたびに
tlp0: receive error: dribbling bit
tlp0: receive error: CRC error
というエラーが多量に発生する.
# ifconfig tlp0 -mediaopt FDX
を実行すると, 一応静かになるみたい. current-users ML では, 特にパフォー マンスダウンがないのなら, これらのエラーを無視すれば? とか言われてる. 加えて, tcpdump を実行すると tlp0 が動かなくなる. リンクが落ち る. ifconfig down & up をすると復活する. やはり何かおかしい.

4/26
* 久しぶりにカーネル, ユーザランド, パッケージ, X を最新のものにし た. どれも問題なくいけた.

* [PKG] devel/{autoconf,autoconf-devel} が競合するため, いくつかコンパ イルできないパッケージがあったが, どちらも "autoconf" というパッケージ 名で指せるようになり, それらをバージョンの違いで区別できるようになって いた (たとえば, "BUILD_DEPENDS+= autoconf>=2.13" なとき, autoconf また は autoconf-devel のどちらかがインストールされていればよい).

* [X] USB マウスを使っているとときどきマウスの反応がなくなってしま う. 画面のマウスポインタが動かないのだ. X を立ち上げなおせばまた使える ようになるんだけど.

4/14
* [NEWS] i386 ポートの スナップショットが出ました. 1.5.3_RC1 (Release Candidate) も出てま す.

4/13
* [PKG] suse_* を 7.3 にアップグレードする際, "can't create symbolic link "emul/linux/cdrom"." と言って終了してしまうは ず. /emul/linux/{cdrom,floppy} を削除してから再度 make install すると うまくいく.

4/4
* [PKG] Java 1.4 SDK は NetBSD 上でうまく動かないらしい. シグナル周り が原因だそうな. 今のところ pkgsrc に入っている JDK 1.3.1_01 が一番安定 しているそうだ. ちなみに Java は Linux emulation で動きます.

* [KERN] Linux の様に, SGI の XFS や IBM の JFS を NetBSD で動作させる ようにできるか?
-> NetBSD には LFS がある (が, まだ実用段階で はない.). しかしそれぞれ特徴も振る舞いも異なる. XFS はリアルタイム性 とスループットの制約がある大規模システムに向いている. JFS に関しては JFS4BSD というのもある.

* [KERN] 開発中である SMP カーネルでは RAIDframe が使えない. ロック関 係の問題らしい.

* [PKG, TIPS] pkg_* コマンドを使っていて, 依存関係のエラーで止まること がある. その時には, 止まった原因を把握した上で, -f オプションをつけて 強制実行しよう. This is a right way!

4/2
* [TIPS] Mozilla で CTRL-PgUp や CTRL-PgDn を押すとタブ間で移動ができ ることを知った. 他のショートカットはなんとなく押せば期待通りに動くが, これだけは調べないと分からなかった. これでマウスに触らなくてもよくなる ので, 便利便利.

* 2/12 などに書いた Promise の pciide カードの持つ問題についての続報: http://mail-index.netbsd.org/tech-kern/2002/02/16/0006.html, http://mail-index.netbsd.org/tech-kern/2002/02/16/0009.html. # とうと うリンクをはる気力もなくなったらしい > 自分 (^^;

* [NEWS] VAX ポートが ELF に移行しました.

4/1
* [NEWS] Emiel さんが, マイクロソフトの X-BOX に NetBSD を移植しました!! Cool! こちらから

3/27
* [TIPS] man ページの書き方

3/15
* [NEWS] cvsup.jp.netbsd.org が復旧! rsync に問題があったみたい.

* [USERLAND] SSH の設定ファイルの置き場所が /etc から /etc/ssh 以下に 変更になった. defaults/rc.conf, rc.d/sshd などの更新が必要. etcupdate を実行するとよい.

* 昨日は BSD Magazine No.11 の発売日だった. さっそく購入. 最終ページの次号予告のところで, 次 号の特集が "ヒミツ!!" となっているところには笑った. (^^;

3/3
* [PKG] OpenOffice (pkgsrc/misc/openoffice) を試してみた. コンパイル & インストール (注! 巨大なファイルをダウンロードするし, コンパイルのため に HD にかなりの余裕が必要), 個人環境設定のためのインストーラーの起動 & 終了 (いくつか warning が出たけど無視して続行), とここまでうまくいっ たみたい. で, 起動してみると "lpstat: not found" といわれる. ちなみに 1.5.2 ではインストールできない. コンパイル済み バイナリも利用可能だ (これは 1.5.2 でもいけるのかな? 未確認).

2/28
* 1/22 で書いた cd /usr/mdec; ./installboot biosboot.sym /dev/rsd0a を実行すると BIOS Boot がディスク上のカーネルへアクセスすると即再起 動してしまう問題を調べてみた。原因は pkgsrc/devel/cpuflags をインス トールしていることだった。僕のマシンの CPU は AMD Athlon Model 4 (Thunderbird) (686-class) なので、cpuflags を用いるとコンパイルオプ ションとして -march=pentiumpro が追加される。この最適化オプションを つけて /sys/arch/i386/stand/biosboot で make してできた biosboot.sym を installboot するとこの問題が発生する。../Makefile.booters 中の DBG=-Os がヒントになった。Athlon (Thunderbird) の実装, gcc 2.95.3 (NetBSD nb1) + -march=pentiumpro 最適化オプションの吐くコード, /sys/arch/i386/stand/biosboot のソースコード、のうちどれに(またはど れとどれの間に)問題があるのかまでは追っていない。とりあえず、 cpuflags を deinstall して解決した。
これを受けて, mk.conf に設定していたコンパイラ追加オプションを
CFLAGS+=-pipe
CXXFLAGS+=-pipe
のみに書き換えた.

2/27
* cvsup.pasta.cs.uit.no から cvsup したリポジトリにはいくつか壊れてる RCS ファイルがあると思っていたが, 今日 cvsup したものはすべて大丈夫な ようだ (いくつか refuse しているファイル/ディレクトリがあるので本当に 完全かどうかは分からないが). 今月半ば頃には, xsrc のいくつかのファイル が壊れてたのだが, 今日 cvsup したリポジトリのソースだと xsrc の make build が完走した.

* [X] XFree86 4.2.0 は依然として不安定のようなので, 4.1.0 を使いつづ けるのが得策だ. 一度 4.2.0 にしちゃって 4.1.0 に戻したい場合,
$ cvs up -D'2002-1-19 14:53:04 GMT'
のようにすれば 4.2.0 の import 直前の 4.1.0 のコードが得られるだろう(タグがついていないので, 日時で指定する). または 4.1.0 の xsrc バイナリ tarball(今年の始めにコンパイルしたものだそうだ) が使える.

2/25
* official な cvsup サーバは jp, no, de (2つ), uk の 5 つあるが, いろ いろ試した結果 no が一番ましみたい. いくつか壊れてる RCS ファイルがあ るがそこさえ気をつければ最新のリポジトリが手に入る. ちなみに, 今日 cvsup.pasta.cs.uit.no から cvsup したリポジトリを checkout したコード は久しぶりに build.sh が完走したし, カーネルもコンパイルできた. :-)

2/21
* [TIPS] NetBSD を普段使っていて感じている最大の不便さの一つに, 日本語 をキーとしてウェブ検索エンジンを使えなかったこと, つまり Mozilla など のウェブブラウザのフォームに日本語入力できなかったことがあります. しか し, 以下のように設定すると Mozilla に日本語入力できるようになります!
僕は, WXG と kinput2 を愛用しているので
export LC_CTYPE=ja_JP.eucJP
export XMODIFIERS='@im=kinput2'
と設定します. NetBSD 1.5ZA と Mozilla/5.0 (X11; U; NetBSD i386; en-US; rv:0.9.8) Gecko/20020218 でうまく動いてます. これで google な どを開いてフォームに kinput2 で日本語を入力して検索できるようになり ます. 日本語でページ内検索もできます。 # ほんとはもっと前からできた ようですが, 全然気づかなかったです. (^^; これで, ずいぶん快適になり ました (他の マシン/OS/ソフトウェア に寄生しなくてもよくなった).

2/17
* [TIPS] root file system 以外のところで shutdown -r すると, clean に unmount できないことがある. これはカレントディレクトリがある file system が busy になってしまうからだ. root file system に cd するか, ま たは single user mode にいったん移行してから reboot するとよい.

2/12
* 1/10 などの問題に加えて, Promise の PCI カードでは ATAPI デバイスが うまく動かないらしい.

2/10
* [KERN] softdep ファイルシステムが現在おかしいです. shutdown 時にエラー が出て, 次回ブート時のチェックで多量のファイルが lost+found に行ってし まいます... しばらく softdep を disable して様子を見ます.

2/8
* [PKG] Hubert Feyrer さんによる bulk build の 状況.

* 現存するほとんどすべての CVS リポジトリのミラーが壊れてるらし い. cvsup.jp.netbsd.org が復旧するまで -current 追っかけは休止する予定.

* [X] XFree86 4.2.0 はまだ安定してないみたい. ランダムに落っこちるらし い.

* [X, TIPS] 5 ボタンホイール付きマウスのホイールを使えるようにする方法. 普通に 5 ボタンの設定をするとホイールがボタン 6, 7 になる. Mozilla な どはボタン 4, 5 をホイールだと思っているので, これだとホイールが有効で ない. なので, ボタン 4, 5 にマップしてやればよい.
$ xmodmap -e 'pointer = 1 2 3 6 7 4 5'

* [NEWS] NetBSD 1.5.3_ALPHA の スナップショットが出ました.

* [PKG, TIPS] 1/22 にも書いたが, インストール済みパッケージとダウンロー ドしてきた最新の pkgsrc 比較して, インストール済みパッケージを更新する 方法についてのまとめ. 僕の知るかぎりいくつかの方法がある: (数字は僕の 環境で実行にかかった時間. 参考までに) 個人的には, bsd_chk -i がお薦めです.
2/4
* postfix を使ってる人は, 1.1.2 にアップグレードする際 /etc/postfix も 新しいものにしないと, 不可解なエラーで postfix が落ちてしまうようで す. 要注意.

2/3
* [BUG] LFS 上のバイナリが実行できるようになったので, パーティション切 り直して LFS をもっと活用しようと思っていたら, LFS に CVSup で負荷をか けたら panic する (panic: lfs_ifind: dinode 104500 not found, もしかし たら負荷をかけたのが原因じゃなくそれ以前に LFS 自体が壊れていた可能性 もあります) し, ブート時の fsck -p で多量のエラー (対象 inode が freelist にないとかなんとか) が出るし, fsck_lfs は Segmentation fault で core dump するし, まだまだ LFS ファイルシステムは実用できない状態の ようです. 事実, LFS に関するたくさんのバグレポートが報告(キーワー ド lfs で検索してね) されており, state が open のままになっていま す. 残念だけど当分の間 LFS を使うのは諦めよう.

2/1
* [TIPS] mk.conf で USE_NEW_TOOLCHAIN や USETOOLS を設定してはいけない.

* [NEWS] jp.netbsd.org でホストしている NetBSD CVS リポジトリが現在壊 れてるようです. 確かに CVSup でリポジトリを更新すると "Checksum mismatch" や "Server warning: RCS file error" が多量に出ますし, さらに ファイルの更新に失敗して CVSup 自体がストップしてしまいます. JNUG の方 で復旧作業中だそうです.
1/31
* [KERN] 12/19 などに書いた mozilla でウェブつついてると, たまに即リブー トしてしまう問題は sys/arch/i386/isa/npx.c rev 1.83 で fix されまし た. もしくはカーネルを I686_CPU オプションなしでコンパイルすれば, 問題 が起きないとのこと.

* new-toolchain に移行してないプラットフォームの 状況.

* [X] XF86 4.2 & nv ドライバで X がクラッシュするという バグレポートがある. まだ 4.2 に移行できてないので実際に体験はして いません.

* Mozilla の設定がおかしい (設定したのに反映されない, 前のセッションの 内容が記録されないなど) ときは, mv ~/.mozilla ~/.mozilla.old して再度 Mozilla を起動して設定してみるとよい. ~/.mozilla.old 以下にあるブック マークファイル bookmarks.html を ~/.mozilla に持っていくのを忘れずに.

* $MACHINE, $MACHINE_ARCH, sysctl hw.model の違いについて. 参 照
1/30
* [PKG] fonts/mkttfdir は以前 xtt フォーマットしか扱えなかったが, 1.2 になって freetype フォーマットも扱えるようになった. 僕は XFree86 で TrueType バックエンドに freetype を使っているので, *.ttf のあるフォン トディレクトリで実行してみた.
1/27
* 11/19 などで書いている LFS 上のバイナリが実行できない問題ですが, ど うやら fix されたようです! ソースツリーを FFS partition から LFS partition に移して LFS を使い込んでみようと思います. はたして体感でき るほどスピードアップするかな?
1/26
* [NEWS] IPFilter が 3.4.23 に アップグレードしました.

* [USERLAND] コンパイルエラー:
...
dependall ===> pax
...
/usr/src/tooldir/bin/nbhost-mkdep -a
-I/c/src/tools/pax/../../bin/pax/../../usr.sbin/mtree
-I/c/src/tools/pax/../../bin/pax/../../sbin/mknod
-I/c/src/tools/pax/../../bin/pax/../../bin/ls -nostdinc -isystem
/usr/include -I/c/src/tools/compat/obj.NetBSD-1.5ZA-i386
-I/c/src/tools/pax/../compat -DHAVE_CONFIG_H
/c/src/tools/pax/../../bin/pax/ar_io.c
/c/src/tools/pax/../../bin/pax/ar_subs.c
/c/src/tools/pax/../../bin/pax/buf_subs.c
/c/src/tools/pax/../../bin/pax/cpio.c
/c/src/tools/pax/../../bin/pax/file_subs.c
/c/src/tools/pax/../../bin/pax/ftree.c
/c/src/tools/pax/../../bin/pax/gen_subs.c
/c/src/tools/pax/../../bin/pax/getoldopt.c
/c/src/tools/pax/../../bin/pax/options.c
/c/src/tools/pax/../../bin/pax/pat_rep.c
/c/src/tools/pax/../../bin/pax/pax.c
/c/src/tools/pax/../../bin/pax/sel_subs.c
/c/src/tools/pax/../../bin/pax/tables.c
/c/src/tools/pax/../../bin/pax/tar.c
/c/src/tools/pax/../../bin/pax/tty_subs.c
/c/src/tools/pax/../../bin/pax/../../usr.sbin/mtree/getid.c
/c/src/tools/pax/../../bin/pax/../../usr.sbin/mtree/spec.c
/c/src/tools/pax/../../bin/pax/../../usr.sbin/mtree/misc.c
/c/src/tools/pax/../../bin/pax/../../bin/ls/stat_flags.c
/c/src/tools/pax/../../bin/pax/../../sbin/mknod/pack_dev.c
/usr/src/tooldir/bin/nbhost-mkdep: unknown option: -nostdinc
*** Error code 1

Stop.
nbmake: stopped in /c/src/tools/pax
ML によると, これはすでに fix されたようです.

* [NEWS] Caldera ライセンスの下, the Unix Archive (a large collection of Unix releases, applications, documentation, bug fixes, bootable disk images, and tools to deal with all these things) が公開されました.

* [NEWS] スナップショット NetBSD 1.5.3_ALPHA がでました. こちらから.

1/24
* [PKG] システムパッケージ(syspkg)がサポートされつつあります. 参照

* [X] XFree86 4.2.0 を試してみた. ドライバなど結構よくなってるみた い. でも いくつかのバイナリの実行がおかしい. mozilla は Segmentation fault するし, gnome-session はどこかで刺さってしまっている. kterm とか は問題ないのだが. XFree86 4.2.0 の ABI が壊れてるといううわさも... X 関連のバイナリをすべて再コンパイルすれば直るのだろうか. ちょっとやる気 が起きないので, しばらく XFree86 4.1.0 でいこうっと.
1/22
* [USERLAND] build.sh に HOST_CC, HOST_CFLAGS, HOST_CPPFLAGS, HOST_LDFLAGS が加わりました. userland をコンパイルするためのコンパイラ, コンパイラフラグ, C プリプロセッサフラグ, ld フラグを設定できます. ク ロスコンパイルする場合に便利なんじゃないかな.

* [BUG] /usr/mdec で ./installboot biosboot.sym /dev/rsd0a 実行してリ ブートする. BIOS Boot のプロンプトをリターンするとカーネルを読み込まず すぐ再起動してしまう. 何のエラーメッセージも出ていない. BIOS Boot のプ ロンプトで ls しても HDD をアクセスしにいくと同様に即再起動. -current 使っている人は気をつけてください. しょうがないので 1.5.2 の CD-ROM で 立ち上げて 1.5.2 の biosboot.sym を書き込んで復旧させた. どこに問題が あるんやろ...

* [USERLAND] ntpd を unprivileged ユーザ ntpd で動かすように rc.conf を変更 (#ntpd_chrootdir="/var/chroot/ntpd" のコメントを外す). これを動 かすためには, /dev の再構築 (仮想デバイス /dev/clockctl が必要) とカー ネルコンフィグファイルに pseudo-device clockctl を加えなくちゃならない ことに注意. See clockctl(4).

* [X] XFree86 の最新リリースである 4.2.0 が import されました.

* [KERN] 1/14 の吉田さんのパッチは取り込まれました.

* [PKG] pkgsrc を手に入れて, インストール済みパッケージの古いものを新 しいバージョンのものにアップグレードしたい時は, pkgsrc のトップディレ クトリで make show-downlevel | egrep -v '===>' して更新すべきパッケー ジ一覧を得るとよい. 自動化したいなら pkgtools/bsdpak (Perl スクリプト) が使える.
1/21
* [KERN] いくつかのポートで GENERIC カーネルにデフォルトで RAIDframe が組み込まれることになりました. これに伴い, INSTALL カーネルにも RAIDframe が組み込まれます. よっぽどマイナーなオプションを使っている (逆に, いろんな機能を使いこなしている) raid システムではない限り, これ が緊急用の起動ディスクとして使えます! それとデバイス数も 4 から 8 に増 えました.
1/20
* staroffice52 のインストール法. まず Linux にインストールし, それを NetBSD にコ ピー, そして Linux emulation で動かす, という方法です. pkgsrc のはまだ 5.1 です.
1/17
* [SECURITY] Security Advisory 2002-001 Close-on-exec, SUID and ptrace(2) が出ました.
1/16
* [from current-users ML] pkgsrc でリンクする時毎回 -Wl,-R を gcc のオ ブションに指定しなくちゃならないのは何とかならないか?
-> /etc/ld.so.conf に標準的なパスをデフォルトで書いておけばよいので はないか(でもこれは a.out の時やってた事と同じで 1.5 で depreciated に なったよね).
-> コンパイル前に export LD_RUN_PATH=/usr/local/lib:/usr/pkg/lib:/usr/X11R6/lib しとけば rpath を埋めこまなくてもよくなる. だが LD_RUN_PATH がうまく働かない問題 PR 9248 がある.

確かにこの ELF の feature って a.out の時より動的リンクが安全に行える んだろうけど, いちいち rpath を気にしなくちゃならないってのは場合によっ てはめんどくさいだけだよなぁ.

* [from current-users ML] Todd Vierling さん曰く, ELF では linking != runtime linking である. リンクのための gcc オプションの意味:
1/14
* 12/22 で触れた大容量IDE HDD未対応問題ですが, 吉田さん (kay@kaynet.or.jp) が quick hacked パッチ を作成されました.
1/12
* (僕が使ってる) ECS K7S5A マザー (SiS735 chipset) の組み込み audio と ethernet はまだ動作がおかしいらしい (どちらとも僕は使ってないので分か らないが). ethernet に関しては こ のパッチでよくなるかも.
1/11
* build problem がある場合には mk.conf の内容とビルドコマンド, エラー メッセージをセットにして報告しなければならない. ここで mk.conf の内容 とビルドコマンド書いてなかったので, 書いておきます.
ビルドコマン ド: ./build.sh (そう, DESTDIR は / . つまりバックアップとらずに上書き してます. これは一般に危険な行為なんですが, めんどくさいのでこうして ます. いざシステムが深刻な状態に陥ってしまったら, 最近でたスナップショッ トを用いて復旧させます.)
mk.conf:
COPTS+=-pipe -march=pentiumpro -O2
MANINSTALL=maninstall
MKCATPAGES=no
MANZ=yes
USE_XF86_4=yes
TOOLDIR=/usr/src/tooldir
MKOBJDIRS=yes
MKHOSTOBJ=yes
MKPICINSTALL=no
MKPROFILE=no
BSDSRCDIR=/usr/src
* pkgsrc の複数のパッケージの同時ビルドはまだサポートされていな い. ロックを用いる解法案: PR 7590
1/10
* [KERN] Promise Ultra100TX2 のプライマリチャネルに HDD をマスタとスレー ブ両方ともつなぐと挙動が変になる (この他の HDD の組み合わせでは問題な い) というレポートが届いたから, 誰か他にテストしてみてと Manuel Bouyer さんが書いていたので, さっそくテストしてみた. すると確かに boot 中に以 下のようなエラーメッセージが出る:
pciide1:0: bogus intr
pciide1:1: bogus intr
pciide1:0:0 not ready, st=0xff, err=0x00
pciide1 channel 0: reset failed for drive 0 drive 1
wd1d: device timeout reading fsbn 0 (ud 1 bn 0; cn0 tn0 sn0), retrying
この結果をレポートした.

* *BSD 間での ffs/ufs ファイルシステムの互換性について. BSD/OS とは相 互に使えるらしい. NetBSD は FreeBSD disklabel を読める (WARING: old disklabel type とかは無視してよい). ただし, mbrlabel などで書き込みを 行うのは危険なんだそうだ.

* 12/19 などに書いた mozilla でウェブつついてると, いきなりリブートし てしまう問題は僕のところだけの問題じゃないみたいだ.
1/8
* [USERLAND] big endian なプラットフォームでは, cdplay が壊れてるら しい.

* pkgsrc で mozilla-0.9.7 をコンパイル中, g++ が internal compiler error で止まった. 念のため, もう一度 make してみる (make clean しない で) と今度はちゃんと最後までコンパイルできた. あら不思 議. current-users ML でも同じ問題が投稿されてた. Greg A. Woods さんに よると UVM/UBC または NEW_PIPE のバグの可能性があるらしい. 時間を見つ けて調査するそうだ.
1/7
* [USERLAND] build.sh スクリプトは現在 -j 機能 (set NBUILDJOBS to njob) は, 1 の時のみ正しく動く模様.

* [PKG] pkgsrc では cross-compiling はサポートしていない.

* [KERN] コンパイルエラー:
...
ld -T ../../../../arch/i386/conf/kern.ldscript -Ttext c0100000 -e start -X -o netbsd ${SYSTEM_OBJ} vers.o
rf_dagutils.o: In function `rf_GenerateFailedAccessASMs':
/sys/arch/i386/compile/BONNIE/../../../../dev/raidframe/rf_dagutils.c:1021: undefined reference to `rf_PrintFullAccessStripeMap'
/sys/arch/i386/compile/BONNIE/../../../../dev/raidframe/rf_dagutils.c:1025: undefined reference to `rf_PrintFullAccessStripeMap'
rf_map.o: In function `rf_MapAccess':
/sys/arch/i386/compile/BONNIE/../../../../dev/raidframe/rf_map.c:125: undefined reference to `rf_PrintRaidAddressInfo'
/sys/arch/i386/compile/BONNIE/../../../../dev/raidframe/rf_map.c:177: undefined reference to `rf_ASMCheckStatus'
/sys/arch/i386/compile/BONNIE/../../../../dev/raidframe/rf_map.c:208: undefined reference to `rf_ASMCheckStatus'
/sys/arch/i386/compile/BONNIE/../../../../dev/raidframe/rf_map.c:233: undefined reference to `rf_ASMCheckStatus'
/sys/arch/i386/compile/BONNIE/../../../../dev/raidframe/rf_map.c:234: undefined reference to `rf_ASMCheckStatus'
/sys/arch/i386/compile/BONNIE/../../../../dev/raidframe/rf_map.c:235: undefined reference to `rf_ASMParityAdjust'
/sys/arch/i386/compile/BONNIE/../../../../dev/raidframe/rf_map.c:236: undefined reference to `rf_ASMParityAdjust'
*** Error code 1
* cdparanoia で -g オプションが必須らしいけど, 僕のところ (ATAPI drive) では -g 無しじゃないとうまくいかないんだよな. 変だなぁ.

* [NEWS] MIPS port が new-toolchain (GCC 2.95.3 / Binutils 2.11.2) に移行したようです.

* [USERLAND] 現在 build.sh を使って, i386 ホスト上でターゲット alpha の cross-compile はできないらしい.

* [KERN] カーネルのコードでは alloca(3) は使ってはいけないそうで す. stack を食いつぶす事があるから. alloca() は malloc(9)/free(9) で 置き換えられます.
2002年

12/27
* libintl.so が /usr/lib/libintl.so (Citrus プロジェクトからのインポー ト) とパッケージ devel/gettext-lib でインストールしていたものとの間で 競合する. パッケージ gettext-lib の方をシステムから deinstall し, これ をリンクしていたバイナリ/ライブラリ (22個もあった(^^; 大部分が GNOME 関連のもの) を再コンパイル & インストールした.

* CD-ROM に複数の partition (ISO & FFS etc.) を作ることは不可能らし い.
12/26
* [NEWS] 12/24 の日記でふれたスナップショット (20011222-1.5ZA) for i386 はいくつか深刻な問題があるようです. とりあえず使わないようにし ましょう.
12/25
* [BUG] X から ctrl-alt-F1 でコンソールに戻るとキーボードが死ぬ.

* HD を fsck 中 + raid parity rewrite 中, カーネルからメッセージ "stray interrupt 7" が表示された. とりあえずほっておこう...

* [NEWS] x68k port でデフォルトの実行ファイルフォーマットが ELF にな りました. ただ, ソースからのアップグレードは難しいようです.
12/24
* [NEWS] -current (20011222-1.5ZA for i386, macppc, sparc64, and alpha) スナップショットが出ました.
12/23
* [USERLAND] コンパイルエラー:
...
dependall ===> usr.bin/usbhidctl
CC=/usr/src/tooldir/bin/i386--netbsdelf-gcc /usr/src/tooldir/bin/nbmkdep -a  -nostdinc -isystem /usr/include  /c/src/usr.bin/usbhidctl/usbhid.c /usr/src/tooldir/bin/i386--netbsdelf-gcc -O2 -pipe -march=pentiumpro -O2 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized  -Werror  -nostdinc -isystem /usr/include  -c /c/src/usr.bin/usbhidctl/usbhid.c /usr/src/tooldir/bin/i386--netbsdelf-gcc   -o usbhidctl -nostdlib -Wl,-rpath-link,/usr/lib /usr/lib/crt0.o /usr/lib/crtbegin.o usbhid.o -lusbhid -L/usr/lib -lgcc -lc -lgcc /usr/lib/crtend.o
/usr/src/tooldir/i386--netbsdelf/bin/ld: cannot find -lusbhid
collect2: ld returned 1 exit status
*** Error code 1

Stop.
nbmake: stopped in /c/src/usr.bin/usbhidctl
* [TIPS] fdisk 情報から disklabel を作りたい時は, mbrlabel(8) が便利.

* [USERLAND] static link されてるバイナリから dlopen() が使えないと いう問題へのアプローチについて "RFC: migration to a fully dynamically linked system" という Subject で議論が白熱してます.

* SiS735 chipset についてる LAN 機能について, これでは NFS が使えな い問題があるそうだ(PR #15020). 僕は PCI に NIC 刺して使ってるので関 係ないけど.
12/22
* [KERN] コンパイルエラー:
...
cc  -g -pipe -march=pentiumpro -O2 -Werror -Wall -Wno-main -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-uninitialized  -Di386 -I.  -I../../../../arch -I../../../.. -nostdinc -DLKM -DMSGBUFSIZE="0x186a0" -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT   -c /usr/src/sys/arch/i386/compile/BONNIE/../../../../netinet6/in6_gif.c
/usr/src/sys/arch/i386/compile/BONNIE/../../../../netinet6/in6_gif.c:83: `in6_gif_ctlinput' undeclared here (not in a function)
/usr/src/sys/arch/i386/compile/BONNIE/../../../../netinet6/in6_gif.c:83: initializer element is not constant
/usr/src/sys/arch/i386/compile/BONNIE/../../../../netinet6/in6_gif.c:83: (near initialization for `in6_gif_protosw.pr_ctlinput')
...
*** Error code 1

Stop.
* [KERN] 160GB 以上の IDE HDD はまだサポートしてないそうです.
12/21
* [KERN] NFS と UMAP を組み合わせるとやっぱり挙動がおかしい. ほんと はファイルいっぱいあるディレクトリなのに ls するとファイルが一個もな い. ls -l しても . や .. すらない.
12/20
* [KERN] Manuel Bouyer さんから返事が届く. なんかパッチ当てるのミスっ たらしく pciide.c rev. 1.140 なら大丈夫なはずとのこと. さっそく Ultra/100 の disk をつないで試してみると見事に動作します. この結果を メールしました.

* Promise Ultra100TX2 が動くようになったのでマシン構成を少しいじ る. ECS K7S5A などのマザーに使われてる SiS K735 チップセットの IDE コントローラ 5597/5598 IDE controller と IBM-DTTA-371010 HDD は相性 が悪く (incompatibility), HDD の認識は正しく
wd0 at pciide0 channel 0 drive 0: <IBM-DTTA-371010>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 9641 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 19746720 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
Ultra-DMA mode 2 と行われるのに実際アクセスすると,
wd0: transfer error, downgrading to Ultra-DMA mode 1
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 1 (using DMA data transfers)
wd1(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
wd0f: aborted command, interface CRC error writing fsbn 32 of 32-33 (wd0 bn 9799513; cn 9721 tn 11 sn 52), retrying
wd0: transfer error, downgrading to PIO mode 4
wd0(pciide0:0:0): using PIO mode 4
wd1(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA data transfers)
wd0f: aborted command, interface CRC error writing fsbn 32 of 32-33 (wd0 bn 9799513; cn 9721 tn 11 sn 52), retrying
wd0: soft error (corrected)
transfer error で downgrading して転送モードが PIO mode 4 になってし まう. それでこの IBM のドライブを Ultra100TX2 に接続した.
Promise Technology Ultra100TX2/ATA Bus Master IDE Accelerator (miscellaneous mass storage, interface 0x85, revision 0x01) at ? dev 11 function 0 (tag 0x80005800, intrtag 0x80005800, intrswiz 0, intrpin 0x1, i/o on, mem on, no quirks): Promise Ultra100TX2/ATA Bus Master IDE Accelerator (rev. 0x01)
pciide1: bus-master DMA support present
pciide1: primary channel configured to native-PCI mode
pciide1: using irq 11 for native-PCI interrupt
wd1 at pciide1 channel 0 drive 0: <IBM-DTTA-371010>
wd1: drive supports 16-sector PIO transfers, LBA addressing
wd1: 9641 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 19746720 sectors
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
wd1(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
pciide1: secondary channel configured to native-PCI mode
見事に Ultra/33 で認識されてて実際この速さで使えてます. :-)

* [KERN] お. 気づけばリリース番号が 1.5ZA! ZA なんて手もあっ たのか.

* [KERN] softdep のコードに変更が加わった. local filesystem に softdep enable にしてみる. bonnie++ で負荷をかけても大丈夫だ. でもま だ NFS exported filesystem に使う気にはなれないなぁ.
12/19
* [KERN] Promise Ultra100TX2 サポート入りカーネルでブートしてみる.
Promise Technology Ultra100TX2/ATA Bus Master IDE Accelerator (miscellaneous mass storage, interface 0x85, revision 0x01) at ? dev 11 function 0 (tag 0x80005800, intrtag 0x80005800, intrswiz 0, intrpin 0x1, i/o on, mem on, no quirks): Promise Ultra100TX2/ATA Bus Master IDE Accelerator (rev. 0x01)
pciide1: bus-master DMA support present
pciide1: primary channel configured to compatibility mode
tag: 0, addr: 496, size: 8, flags: 0, hdl: 0xc0a11cec  <- この行は僕が表示させたデバッグメッセージです
pciide1: couldn't map primary channel cmd regs
pciide1: secondary channel configured to compatibility mode
tag: 0, addr: 368, size: 8, flags: 0, hdl: 0xc0a11dec  <- この行は僕が表示させたデバッグメッセージです
pciide1: couldn't map secondary channel cmd regs
悲. ダメじゃん. コマンドレジスタのIOへのマップに失敗してる. さっそく Manuel Bouyer さんにレポートを送った.
自分でもちょっと調べてみようと手元にあった CD-ROM から FreeBSD 4.3-RELEASE をインストールしてみる. あれ, 100TX2 を認識しないじゃ ん. web を漁ってると -current (5.X 系) でないとダメらしい (4.4 では どうなのかな?) Linux では 2.4.10 以降 & CONFIG_BLK_DEV_PDC202XX カー ネルオプションつき で動くらしい. 参考コード

* [KERN] 12/3 と同様に, mozilla で www.google.com を開いたら即リブー トした. これまた再現できず. とりあえず意味があるか分からんけど, 前の カーネルとの変更箇所である SOFTDEP オプションを外してコンパイル. 今 のところ大丈夫な模様.
12/17
* [NEWS] すべての ELF m68k port が new-toolchain に移行しました. な ので, full build には build.sh 使うことになります.

* [PKG] pkgsrc で依存関係を調べるには
$ make show-var VARNAME=DEPENDS | tr ' ' '\012'
$ make show-var VARNAME=BUILD_DEPENDS | tr ' ' '\012'
が便利.

* [PKG] make package して作るパッケージの置き場所は /etc/mk.conf に DISTDIR を指定するとデフォルトの pkgsrc/packages 以外にできる

* [NEWS] Wine でたくさんの Win16 と Win32 アプリケーション (Netscape, Ghostscript, HyperSnap-DX, IrfanView, and of course, Solitaire) が動いたそうだ.

* [KERN] うお, 先を越された!(といってもまだ 1 bit もコード書いてなかっ たけど(^^;) Manuel Bouyer さんが pciide に Promise Ultra100TX2 (Ultra100/TX2v2, Ultra133) サポートをコミットしたようです. tester を 募集してるので, さっそく試してレポートを送ろう. okay ならば 1.5 系に pullup するそうです. どんな変更が加えられたのか, ソースを読むのが楽 しみ!
12/14
* kernel compile 中に hang up した. なんで??

* 今日の full build でのエラー:
...
CC=/usr/src/tooldir/bin/i386--netbsdelf-gcc /usr/src/tooldir/bin/i386--netbsdelf-lint -chapbxzF -d /usr/include -I. -I/usr/src/gnu/lib/libobjc/../../usr.bin/gcc/arch/i386 -DIN_GCC -I/usr/src/gnu/lib/libobjc/../../dist/toolchain/libobjc -I/usr/src/gnu/lib/libobjc/../../dist/toolchain/libobjc/objc -I/usr/src/gnu/lib/libobjc/../../dist/toolchain/libobjc/../gcc -I/usr/src/gnu/lib/libobjc/../../dist/toolchain/libobjc/../gcc/config -I/usr/src/gnu/lib/libobjc/../../dist/toolchain/libobjc/../include -i /usr/src/gnu/lib/libobjc/../../dist/toolchain/libobjc/archive.c
...
/usr/src/gnu/lib/libobjc/../../dist/toolchain/libobjc/objc/objc.h(57): syntax error [249]
...
*** Error code 1

Stop.
make: stopped in /usr/src/gnu/lib/libobjc
12/11
* 3つの新しい sysctl tunables が check in されました. vm.anon{max, min}, vm.file{max, min}, vm.exec{max, min} です. それぞれ anonymous process memory, cached file data, cached executable data のパーセン テージをコントロールします. デフォルトは以下のようになっています.
type min max
---  --- ---
anon  10  80
file  10  50
exec   5  30
* POSIX thread について. 今のところ pth がお薦めらしい. mit-pthreads は ancient で, それをベースとしている unproven-pthreads も...ってこ とのようです. この他にも, Mozilla が使ってる NSPR なんてのもある ようです. # NetBSD では, 現在 native pthreads library を開発中です.

* sh の -x オプションの存在を初めて知った. これはデバッグに便利そう.

* staroffice 5.2 は安定して動くらしい. 早く pkgsrc に入らないかな.

* crontab(5) で @reboot なんて便利な書き方を知る.
12/9
* 今日の full build エラー:
...
CC=/usr/src/tooldir/bin/i386--netbsdelf-gcc /usr/src/tooldir/bin/i386--netbsdelf
-lint -chapbxzF -w -X 272 -d /usr/include -D_LIBC -DNLS -DYP -DHESIOD -DLIBC_SCC
S -DSYSLIBC_SCCS -D_REENTRANT -I/c/src/lib/libc/include -DINET6 -D__DBINTERFACE_
PRIVATE -I/c/src/lib/libc/../../libexec/ld.elf_so -I/c/src/lib/libc/dlfcn -DWITH
_RUNE -DRUNEMOD_MAJOR=3 -D_PATH_LOCALEMODULE=\"/usr/lib/runemodule\" -DRESOLVSOR
T -I. -DPOSIX_MISTAKE -DPORTMAP -DFLOATING_POINT -i /c/src/lib/libc/net/inet_net
_ntop.c
/c/src/lib/libc/net/inet_net_ntop.c(204): warning: conversion to 'unsigned int' 
due to prototype, arg #3 [259]
/c/src/lib/libc/net/inet_net_ntop.c(205): warning: conversion to 'unsigned int' 
due to prototype, arg #3 [259]
/c/src/lib/libc/net/inet_net_ntop.c(275): warning: expression has null effect [1
29]
*** Error code 1

Stop.
nbmake: stopped in /c/src/lib/libc
これはすぐ直るでしょう(というか既に直ってるかも).
12/8
* LFS はよく書き込む所 (ex. /usr/obj) に使うべし. FFS+softdep は interactive に書き込むとき (ex. editting) に効果がある.

* -current の laptop で VMware 動かしてその中で Windows98 がちゃんと 動いている人もいるらしい.
12/6
* build.sh -u (UPDATE) で full build したが
...
STRIP=/usr/src/tooldir/bin/i386--netbsdelf-strip /usr/src/tooldir/bin/nbinstall 
 -c -p -r -o root -g wheel -m 444  printf.3.gz /usr/share/man/man3/printf.3 /usr
/share/man/man3/printf.3.gz
usage: install [-Ubcprs] [-M log] [-T tags] [-B suffix] [-f flags] [-m mode]
            [-o owner] [-g group] [-l linkflags] [-S stripflags] file1 file2
       install [-Ubcprs] [-M log] [-T tags] [-B suffix] [-f flags] [-m mode]
            [-o owner] [-g group] [-l linkflags] [-S stripflags]
            file1 ... fileN directory
       install [-Up] [-M log] [-T tags] -d [-m mode]
            [-o owner] [-g group] directory ...
*** Error code 1

Stop.
nbmake: stopped in /c/src/lib/libc
で止まる. -u オプションなし (cleandir 実行) でコンパイルしてみる.
...
gnu/lib/libgcc/../../dist/toolchain/gcc/config -I/c/src/gnu/lib/libgcc/../../dis
t/toolchain/gcc/../include  -I/c/src/gnu/lib/libgcc/../../dist/toolchain/gcc/cp 
-nostdinc -isystem /usr/include  -c -fexceptions -DL_eh -o _eh.o /c/src/gnu/lib/
libgcc/../../dist/toolchain/gcc/libgcc2.c _eh.c
i386--netbsdelf-gcc: cannot specify -o with -c or -S and multiple compilations
*** Error code 1

Stop.
nbmake: stopped in /c/src/gnu/lib/libgcc
で止まる. これは cleandir が不完全なため起こるものなので, 各ディレク トリにある obj ディレクトリを削除しようと
$ find /usr/src -name obj -or -name "obj.NetBSD*" -type d -print | sudo xargs rm -rf
を実行していると OS がフリーズした. 何をやっても反応がなかったので仕 方なくリセットボタンを押した. 何が原因だったのだろう??
一応安全のため一つ古いカーネルで再起動し, 再び find 実行. 問題な し. full build を再開する. 完走した. :-)

* -current では LFS は使えたもんじゃないが, 1.5.2 では使えるらし い. FFS+softdep より速いそうだ(状況によっては 10 倍以上も). 試したい が, もう disk に空きがない...

* gcc (version 2.95.3 20010315) のオプションで -O3 以上は buggy らし い.

* window(1) - window environment というコマンドを初めて知った. これ は console で作業する時に便利そうだ. 今までは, virtual console を切 り替えてやってたからな.
12/4
* Manuel Bouyer さんの馬力は凄いな. ML に投げられる問題のほとんどに follow up つけてる. 非常に勉強になります. #フランスの方かな?

* pciide ドライバ (PROMISE ULTRA100TX2) を書こうと計画中... ULTRA100 と間違えて買ってしまって, NetBSD で認識しなくてがっかり. なんとか NetBSD で動かしてやるぞ! Linux や FreeBSD では動くらしいし(未確認). 後で時間できたら, インストールして実際試してみよう.
12/3
* 今日はカーネルコンパイル成功. 昨日の問題は解決したようだ. ついに 1.5Z まで来ましたね.
ryoh@bonnie$ uname -a
NetBSD bonnie.jaist.ac.jp 1.5Z NetBSD 1.5Z (BONNIE) #161: Mon Dec 3 06:32:21 JST 2001
ryoh@bonnie.jaist.ac.jp:/c/src/sys/arch/i386/compile/BONNIE i386
1.5Z のカーネルで再起動して mozilla で遊んでると ddb に落ちずいき なりリブートした. instant reboot ってやつです. 原因不明. 1.5Z のカー ネルで 1.5Y のユーザランドだったのがいけないのか? そんなはずないよなぁ. ユーザランドの方も 1.5Z のやつにしたら一応安定してるみたい. 何だった んだろ??

* lang/sun-jdk13
ryoh@bonnie$ /usr/pkg/java/bin/java -version
java version "1.3.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
Classic VM (build 1.3.1_01, green threads, nojit)
では, SWING が使えない. "non-Swing works" と言われる. さらに, jini, javaspaces, other jini-based stuff, rmi-based stuff がうまく動かない 模様. これは Linux emulation 上での multicast socket 問題があるから だそうだ. でも, NetBSD 1.5.2 & java version "1.3.0_02" では SWING が 動くらしい...

* 11/20 の fstab の mfs 指定問題ですが, やはりスワップは special file を指定するんじゃなく swap とするのが正しいようです.
fstab で mfs 指定例)
swap            /tmp    mfs     rw,-s=10m       0 0 
そー言えば, -s=10m と(サイズ 10 MB の事)を指定できるようになりました. 前は sector size で書かなければならなかったからちょっと使い勝手がよ くなりました.
12/2
* current users ML では src や pkgsrc のファイルシステム上の標準の場 所についての議論が紛糾してます... 確かに僕も始め xsrc や pkgsrc の位 置に戸惑った記憶があります.

* カーネルコンパイルすると make depend の所で止まる.
...
In file included from ../../../../dev/rnd.c:59:
machine/rnd.h:56: parse error
/usr/sbin/config をコンパイル&インストールするとこの問題は解消 (src/UPDATING に書いてありました). make 最中, 次は
...
cc -O2  -pipe -march=pentiumpro -O2 -Werror -Wall -Wmissing-prototypes -Wstrict-prototypes  -Wpointer-arith -Wno-main -Wno-uninitialized  -Di386 -I.  -I../../../../arch -I../../../.. -nostdinc -DLKM -DEXT2FS_SYSTEM_FLAGS -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT   -c /usr/src/sys/arch/i386/compile/BONNIE/../../../../dev/ic/pcdisplay_chars.c
/usr/src/sys/arch/i386/compile/BONNIE/../../../../dev/ic/pcdisplay_chars.c:283: `_e003U' undeclared here (not in a function)
/usr/src/sys/arch/i386/compile/BONNIE/../../../../dev/ic/pcdisplay_chars.c:283: initializer element is not constant
/usr/src/sys/arch/i386/compile/BONNIE/../../../../dev/ic/pcdisplay_chars.c:283: (near initialization for `replacements[10].uni')
*** Error code 1

Stop.
で止まる. これは unicode.h の変更に起因するものだ. とりあえず, 様子を見よう.

* pkgtools/xpkgwedge を導入した. X11 関係のパッケージも (/usr/X11R6 ではなく) /usr/pkg 以下にインストールするポリシに変 更. XAPPLRESDIR=/usr/pkg/lib/X11/app-defaults の設定が必要なことに 注意.
11/26
* NEW_PIPE (the new, much faster pipe implementation) が default に なりました. 古いやつを使いたい時は PIPE_SOCKETPAIR を kernel option つければいいです.
11/20
* 今日も full build 完走. ただ ./build.sh -u ではうまく行かず, 必ず cleandir する必要があるようだ. 依存関係の取り扱いにまだ不具合がある のかな.

* 11/15 にふれた /etc の update ツールですが, 一つは pkgsrc (sysutils/etcupdate) に入りました. 今度使ってみよう.

* msdos file system に書き込んだらカーネルが落ちた. これ以降, read only でマウントするように /etc/fstab を変更.

* boot up 中の mount 時に "NFS マウントできないよ" というエラーの後, panic した. メッセージはこんな感じ:
panic: lockmgr: draining against myself
Stopped in pid 141 (mount_nfs) at cpu_Debugger+0x4: movl %ebp, %esp
さらに console で普通にコマンド打ってたらプロンプトが帰ってこな い. CTRL-ALT-ESC 押して ddb に落として trace してみたら ffs cache flush のところで刺さっていた. 再現性無し. うーん.

* NEW TOOLCHAIN が組み込まれてからシステムが不安定過ぎる. toolchain が 安定しないと, トラブったときどこに問題があるのか, 追えなくなるのが恐 ろしい. toolchain 恐るべし.

* いつの間にか mfs をマウントできなくなっていた. これについては PR 14654 の結果待ちだな. とりあえず special file の代わりに "swap" と指 定して運用しよう(もしかして, こう指定する方が正しいのかも).

* umap file system (user and group ID remapping file system layer) が壊れてるみたい. NFS と組み合わせで file にアクセスすると bad address と言われてしまう. LFS の件といい, 果たして 1.6 release では 直ってるんだろうか... release 番号も既に 1.5Y だし.(^^;
11/19
* 今日の full build 完走しました. 昨日加えた MKLINT=no のエントリ を /etc/mk.conf から削ってもうまくいきました! そろそろ, 加えられた new toolchain の変更も落ち着いてきたのかな.

* ふと -current の filesystem 関係の不具合を思い出したので, ここに書い ておきます.
ffs 使ってるなら soft-dependencies は使いたいところです. しかし, NFS Server として export する filesystem に使うとカーネルが落ちます. な ので, 僕は当分の間 soft-dependencies は使わないことにしてます. local filesystem として使うぶんには安定してきてるようです.
LFS (log-structured filesystem) は mmap(2) がまだ動かないらしく, LFS 上のバイナリを実行できません. さらにこの前, boot-up 時に LFS partition をマウントしようとしてカーネルが落ちたので, /etc/fstab に noauto を加えてます.
あと, filesystem の layer framework を激しく使うとこれまた落ちるらし いです. filesystem の advanced な機能を使う時にはちょっと注意が必要 です.
11/18
* 今日の full build エラー:
...
dependall ===> libc
CC=/usr/src/tooldir/bin/i386--netbsdelf-gcc /usr/src/tooldir/bin/i386--netbsdelf-lint -chapbxzF -w -X 272 -d /usr/include -d /usr/include -D_LIBC -DNLS -DYP -DHESIOD -DLIBC_SCCS -DSYSLIBC_SCCS -D_REENTRANT -I/c/src/lib/libc/include -DINET6 -D__DBINTERFACE_PRIVATE -I/c/src/lib/libc/../../libexec/ld.elf_so -I/c/src/lib/libc/dlfcn -DWITH_RUNE -DRUNEMOD_MAJOR=3 -D_PATH_LOCALEMODULE=\"/usr/lib/runemodule\" -DRESOLVSORT -I. -DPOSIX_MISTAKE -DPORTMAP -DFLOATING_POINT -i /c/src/lib/libc/net/base64.c
Usage: (null) [-abceghprvwxzHF] [-s|-t] [-i|-nu] [-Dname[=def]] [-Uname] [-X <id>[,<id>]...
        [-Idirectory] [-Ldirectory] [-llibrary] [-ooutputfile] file...
       (null) [-abceghprvwzHF] [-s|-t] -Clibrary [-Dname[=def]]
 [-X <id>[,<id>]...
        [-Idirectory] [-Uname] [-Bpath] file ...
*** Error code 1
lint のエラーなので /etc/mk.conf に MKLINT=no を加えて, コンパイル再開:
...
STRIP=/usr/src/tooldir/bin/i386--netbsdelf-strip /usr/src/tooldir/bin/nbinstall -c -p -r  -o root -g wheel -m 444  _exit.2.gz /usr/share/man/man2/_exit.2 /usr/share/man/man2/_exit.2.gz
usage: install [-Ubcprs] [-M log] [-T tags] [-B suffix] [-f flags] [-m mode]
            [-o owner] [-g group] [-l linkflags] [-S stripflags] file1 file2
       install [-Ubcprs] [-M log] [-T tags] [-B suffix] [-f flags] [-m mode]
            [-o owner] [-g group] [-l linkflags] [-S stripflags]
            file1 ... fileN directory
       install [-Up] [-M log] [-T tags] -d [-m mode]
            [-o owner] [-g group] directory ...
*** Error code 1
Stop.
nbmake: stopped in /c/src/lib/libc
昨日と同じエラーで止まる. まだ fix されてない模様.
11/17
* 今日の full build エラー:
...
STRIP=/usr/src/tooldir/bin/i386--netbsdelf-strip /usr/src/tooldir/bin/nbinstall -c -p -r  -o root -g wheel -m 444  _exit.2.gz /usr/share/man/man2/_exit.2 /usr/share/man/man2/_exit.2.gz
usage: install [-Ubcprs] [-M log] [-T tags] [-B suffix] [-f flags] [-m mode]
            [-o owner] [-g group] [-l linkflags] [-S stripflags] file1 file2
       install [-Ubcprs] [-M log] [-T tags] [-B suffix] [-f flags] [-m mode]
            [-o owner] [-g group] [-l linkflags] [-S stripflags]
            file1 ... fileN directory
       install [-Up] [-M log] [-T tags] -d [-m mode]
            [-o owner] [-g group] directory ...
*** Error code 1
Stop.
nbmake: stopped in /c/src/lib/libc
一度直ったと思ったんだけどなぁ.
11/16
* "./build.sh -t" で src/tools を作り直す. しかし, エラーになる.
...
dependall ===> asn1_compile
...
CC=cc /usr/src/tooldir/bin/nbmkdep -a -include /c/src/tools/asn1_compile/../compat/compat_netbsd.h -Wall   -I.                           -I/c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../include/heimdal     -I/c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1                -I/c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/roken               -DHAVE_CONFIG_H  /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/gen.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/gen_copy.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/gen_decode.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/gen_encode.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/gen_free.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/gen_glue.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/gen_length.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/hash.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/main.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/asn1/symbol.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/roken/getarg.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/roken/print_version.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/roken/warnerr.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/roken/strupr.c /c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/roken/get_window_size.c /c/src/tools/asn1_compile/../compat/nb_progname.c lex.c parse.c
/c/src/tools/asn1_compile/../../lib/libasn1/asn1_compile/../../../crypto/dist/heimdal/lib/roken/print_version.c:40: print_version.h: No such file or directory
/usr/src/tooldir/bin/nbmkdep: compile failed.
*** Error code 1
* mozilla-0.9.5nb1 をコンパイルした. 起動時に "libnspr4.so が見つか らないよ" と怒られるので
$ LD_LIBRARY_PATH=/usr/pkg/lib/mozilla mozilla
と mozilla と起動していたが, www/mozilla/Makefile rev. 1.76 で fix されたらしい.

* 現在, make snapshot, make release, build.sh -R ... は壊れてるらし い. make build は通るらしいが.
11/15
* new toolchain になってから src で build.sh を使った full build が ことごとく失敗していたが, 久しぶりに完走した. :-)

* 現在 /etc のアップグレードは手作業でやりますが自動化しようという動 きがあります. Jeremy C. Reedさんのページからいくつか手に入ります. # pkgsrc/sysutils に入るかな?
2001年


リンク集

NetBSD, *BSD, IPv6, パッケージ, その他について集めたリンクたち (未整理)


追っかけに必要な HDD 容量

2001 年の終わり頃の時点で, -current 追っかけをするのに*最低*必要な HDD 容量を僕の環境において概算すると, cvs repository 1.5GB (必須ではな い), src (コンパイル時に発生する中間ファイルやバイナリを含む) 900MB, xsrc 600MB (ソース 440MB, 中間ファイル obj 160 MB), pkgsrc (distfiles/ と packages/ は含まない) 250MB くらいです.
注) この容量は増加する のみ (性格上決して減少することはない) なので, 現在もちょっとずつ増えて いってることでしょう.


CVS キーワード ($NetBSD$) の展開

CVSup でリポジトリをローカルに持ってきた後, それに対して checkout するとファイルの revision が必ず -1 されてしまう (でもファイル内容は最 新のもので正しい) と思います. たとえば, (ここでは $ export CVSROOT=/usr/cvsup しているものと思ってください)

$ cd /sys/arch/i386/conf
$ cvs st GENERIC
===================================================================
File: GENERIC           Status: Up-to-date

   Working revision:    1.469   Wed Feb  6 16:54:19 2002
   Repository revision: 1.469   /usr/cvsup/syssrc/sys/arch/i386/conf/GENERIC,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)

の様に revision 1.469 なのに

$ head -1 GENERIC
# $NetBSD: GENERIC,v 1.468 2002/01/28 01:23:32 augustss Exp $

の様に revision 1.468 (最新のものより一つ古いバージョン) になってし まいます. これは CVS がキーワード $NetBSD$ を expand しない事によるも のです.

これを解決するには, $CVSROOT/CVSROOT/config を以下のように修正する とよいでしょう.

$ cd /tmp
$ cvs co CVSROOT; cd CVSROOT

ここで, "config" というファイルが存在していれば

$ echo tag=NetBSD >> config

存在していなければ

$ echo tag=NetBSD > config
$ cvs add config

を実行. 最後にコミットする.

$ cvs ci config

好みで, リリース (sandbox (= working copy) の削除) をする.

$ cd ..; cvs rel -d CVSROOT
You have [0] altered files in this repository.
Are you sure you want to release (and delete) directory `CVSROOT': y

[注意] この解法は NetBSD のディストリビューションに含まれている /usr/bin/cvs を使う場合のみ機能します(これには NetBSD 独自バッチがあたっ ているから). pkgsrc/devel/cvs の場合は, コンパイル時に /etc/mk.conf へ RCS_LOCALID=NetBSD を設定しておけばオーケーです. NetBSD ML のここらへんのスレッド と pkgsrc/devel/cvs/{Makefile,patches/patch-*} が参考になるでしょう.


Feel free to send your comment to me. 早坂 良 (Ryo HAYASAKA) <ryoh@jaist.ac.jp>

Back to my home page