hns - 日記自動生成システム - Version 2.19.9

先月 2007年07月 来月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2007年07月29日() 旧暦 [n年日記] [更新:"2007/07/29 19:45:31"]

#1 [NetBSD] bakery

Bakery 2.4 を make しようとしているが:
checking whether build environment is sane... yes
checking for BAKERY... configure: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

Alternatively, you may set the environment variables BAKERY_CFLAGS
and BAKERY_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
See `config.log' for more details.
*** Error code 1
いろいろと小細工をして先に進んでいる

:

awk: /export/pkgsrc/mk/check/check-portability.awk:54: fatal: Unmatched [ or [^: /[[:space:]]#.*/
-       gsub(/[[:space:]]#.*/, "", line);
+       gsub(/\[\[:space:\]\]#.*/, "", line);


2007年07月27日(金) 旧暦 [n年日記] [更新:"2007/07/28 00:38:32"]

#1 [NetBSD] 4.99.25

bakery とか iso-code とかを make するうちに、java が必要ではないのか、 という気がしたので、ちょっと古い celeron 機に 4.99.25 を入れて見た。 この機種では netboot が出来るようには思えなかったので、3.1_RC の CDROM で起動し
media: none 
などと入力しながら、 sysinst の ftp の設定で
ftp host:, ftp.ki.nu
directory: /pub/NetBSD-daily/HEAD/arch
と指定して無事 sysinst を完了した。 この HEAD/arch のディレクトリは、sysinst から使ったのは初めてだけれど、 我ながら便利だと思う。
  1. /pub/NetBSD-daily/HEAD/arch と指定するだけで -current 最新になる
  2. path を覚えるのも簡単 (arch は代入したりしないで、この通りの文字の指定をする)
  3. 最近 build.sh に失敗していたとしても、最後に完走したもの(の mirror) を残している
livorno# uname -a
NetBSD livorno 4.99.25 NetBSD 4.99.25 (GENERIC) #0:
Wed Jul 25 01:52:32 PDT 2007
builds@wb43:/home/builds/ab/HEAD/i386/200707240002Z-obj/ home/builds/ab/HEAD/src/sys/arch/i386/compile/GENERIC i386
total memory = 247 MB
rbus: rbus_min_start set to 0x40000000
avail memory = 232 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
BIOS32 rev. 0 found at 0xfb110
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Celeron (686-class), 1002.34 MHz, id 0x6b1
cpu0: features 383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 383f9ff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu0: features 383f9ff<FXSR,SSE>
cpu0: "Intel(R) Celeron(TM) CPU                1000MHz"
cpu0: I-cache 16 KB 32B/line 4-way, D-cache 16 KB 32B/line 4-way
cpu0: L2 cache 256 KB 32B/line 8-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: 8 page colors


2007年07月26日(木) 旧暦 [n年日記] [更新:"2007/07/28 19:12:07"]

#1 [NetBSD][pkgsrc] Glom <- FileMaker + PostgreSQL

ちょっと使って見たい気がするが、
  • Bakery 2.4 (download) (requires libxml++, gtkmm, libglademm, gconfmm, and gnome-vfsmm)
    textproc/libxml++2/
    x11/gtkmm/
    devel/libglademm/
    devel/gconfmm/
    sysutils/gnome-vfsmm/
  • libgdamm 2 (using libgda with support for PostgreSQL)
    databases/libgda-postgres/
  • Python >=2.2
    lang/python
  • PyGtk
    x11/pygtk/
    x11/py-gtk2/
  • PyGda (from gnome-python-extras)
    x11/py-gnome2-extras
  • GtkSourceView
    x11/gtksourceview/
  • iso-codes (download)
必要なもののうち、Python を除いて、一つも(自分のところに)入っていないばかりで なく、pkgsrc としても用意されていないものが多数 (入口だけで 4/7)。 また時間のある時に入れて見よう。 wip の下も調べておこう。

iso-code:

 DISTNAME=       iso-code
 CATEGORIES=     personal
 MASTER_SITES=   http://ftp.debian.org/debian/pool/main/i/iso-codes/
 DISTFILES=      iso-codes_1.2.orig.tar.gz   
 ###WRKSRC?=                ${WRKDIR}/${DISTNAME}
 WRKSRC= ${WRKDIR}/iso-codes-1.2
 HAS_CONFIGURE=
 
 MAINTAINER=     packages at ki dot nu
 HOMEPAGE=       http://packages.qa.debian.org/i/iso-codes.html
 COMMENT=        iso code
 
 DEPENDS+=       py24-expat>=0:../../textproc/py-expat
 
 .include "../../mk/bsd.pkg.mk"
sudo ln -s /usr/pkg/bin/python2.4 /usr/pkg/bin/python
これで作って見ると:
Making all in iso_3166_2
./iso3166tab.py  > iso_3166.tab.new
env: python: No such file or directory
*** Error code 127
This is due to the python name. Just make symlink.
 (cd /usr/pkg/bin; sudo ln -s python2.4  python)
And then:
# /usr/pkg/lib/python2.4/weakref.pyc matches /usr/pkg/lib/python2.4/weakref.py
import weakref # precompiled from /usr/pkg/lib/python2.4/weakref.pyc
<unknown>: list index out of range
あるいは:
ttype:makoto@bologna 17:18:09/070726(...personal-pkgsrc/iso-code)> \
python  ./work.bologna/iso-codes-1.2/iso_3166/iso3166tab.py
<unknown>: list index out of range
powerpc 限定かなと思ったが、i386 で試しても同じだった。


2007年07月25日(水) 旧暦 [n年日記] [更新:"2007/07/26 09:15:27"]

#1 [機械] scon kit/pro を接続も入力不可

玄箱/pro に scon kit/pro をつないで見た。
cu -l /dev/dtyU0 -s 115200 
表示してくれる
KUROBOX-PRO login: 
のところで入力が出来ない。これは何か おまじない が要るのか、それとも別の不具合か区別が付かない。 確かに 説明書 とか、 山下さんの Web とか、入力する話が書いてない。 (R76 なんて小さくてとても見えない ..) かわうち方式 だと、特におまじないは必要なさそう。 山下さんの U-boot には、何げなく入力しているように書いてある。


2007年07月22日() 旧暦 [n年日記] [更新:"2007/07/23 09:36:58"]

#1 [NetBSD][macppc] Open Firmware から時刻を設定

Set date and time in Open Firmware
decimal dev rtc sec min hour day month year set-time

So to set the clock to 10 seconds past 11:15PM on December 31st, 2005, the command would be:

decimal dev rtc 10 15 23 31 12 2005 set-time
0 > dev /bandit/ohare/via-cuda/rtc  ok
0 > . . . . . . decimal get-time 1907 6 5 1 8 58  ok
Sun Jan  2 10:02:48 JST 2000
0 > dev /bandit/gc/via-cuda/rtc  ok            
0 > . . . . . . get-time -559038737 6 23 10 57 31  ok
0 > . . . . . . get-time -559038737 6 23 10 57 31  ok
0 > decimal 31 57 10 23 6 0 set-time  ok
0 > . . . . . . get-time 1991 6 23 10 58 56  ok
0 >
(全く対応関係が分らない)
  1. rtc PATH is not fixed machine by machine (but may always be under via-cuda/rtc)
  2. to get time current setting, use . . . . . . get-time
    (do twice to get real number)
  3. have delay to be effective (see above)
  4. offset 0 0 0 2 2 1813
0 0 0 21 29 101   1936  3 13 18 48 53
0 0 0 21 28 101   1930 12 20  0 44 58 


0 > decimal 0 1 2 3 4 5 6 set-time  2021 10 17 8 30 45  ok
0 > decimal 0 1 2 3 4 5 7 set-time  2022 10 17 8 30 45  ok
0 >         0 1 2 3 4 6 6 set-time 1912 2 5 4 12 33  ok


2007年07月21日() 旧暦 [n年日記] [更新:"2007/07/23 01:10:14"]

#1 [無題] ギリシャの壺 (octopus style)

B.C.E 1200 年くらいの ギリシャの壺 ( octopus style ) の研究をして博士号をとった人のお話を聞いて来た。(同い年の日本人)。 B.C というのは Before Christ でさしさわりがあることもあるので、 最近は B.C.E Before Common Era というそうだ。 ミケーネ文明 Mycenaeans civilization の頃の話らしい。 その時代を 20 年あるいは 25 年に区切って、 その年代毎にどの模様が使われた、作られた、という分類をしたという研究だと理解した。


2007年07月19日(木) 旧暦 [n年日記] [更新:"2007/07/21 07:24:46"]

#1 [NetBSD][ps3] (ps3) 一応形のものは出来たが

TNF -D 2006-06-16 と ps3-0526.tar.gz 等で、一応形のものは出来た。しかし、 何をしても
pmap_allocseg: invalid segment ffff ffff 821f fe17
[1]
のような表示をして Segmentation fault する。
827 pmap_allocseg(pm, i)
828         struct pmap *pm;
829         u_long i;
830 {
831         if (i >= 63) {
832                 printf("pmap_allocseg: invalid segment (0x%lx)\n", i);
833                 return 1;
834         }
この部分らしい。

ls -l, ping, uname -a, dmesg, 等 (Segfault しながらも) 一応動く。 次の版(ps3-070717.tar.gz) が出ているので、次に何をするか少し悩む。



2007年07月16日(月) 旧暦 [n年日記] [更新:"2007/07/17 10:44:43"]

#1 [NetBSD][macppc] TsubaiBSD 20070526

久振りにやっと出来た release(8) まだ X11 は作っていない。それで動作確認中。 (日付は間違いではありません。約二か月前のものです)。

C 起動が少し微妙:

PowerBook G4 (2001) で、 C を押したまま の起動だと、画面が真白になって、何が起きているのか 分らない。正常に動いていたとしても、役に立つとは思えない。

この問題は、 setenv auto-boot? false になっている時の話で、手で bye とか mac-boot とか入力した直後に C を押すことか、 あるいは画面の制御の関係かで問題が起きるらしい。 setenv auto-boot? true にしてあれば C で起動する。

auto-boot? false で bye や mac-boot した後でも、 Option を押しながら起動すると、起動 volume の選択画面になるので mouse で CDROM を選んでから → を選ぶと、無事普通に起動する。

無線 LAN のカードが差してあると:

無線 LAN のカードが差してあると db> に落ちてしまう。 抜いておけば、無事起動する。面白いことに、無事起動したところで差すと、やはり落ちる。 しかし抜いてから c を入力すると、動作が継続する。
Terminal type? [vt100] 
(ここまで表示されているところで差すと表示が次のようになる)
Terminal type? [vt100] trap type 200 at 4e1db8
Stopped in pid 9.1 (cardslot0) at 0x4e1db8:	addi 5,5,1
db>bt
at 0x4e288c
at 0x4e2358
at 0x4e19d4
at 0x3fe66c
db>
(抜いておいて)
db> c
Broadcom, 802.11b Cardbus, 8.0 Broadcom BCM4306 (miscellaneous network,
revision 0x03) at cardbus function0 0 not configured
(以下正常に動作)
 Erase is backspace,
(I)nstall, (S)hell or (H)alt ?
#define EXC_MCHK        0x0200          /* Machine Check */
だから、予定しない割込がかかったということ ? この辺か
004e17a4 T cardslot_event_throw
004e1834 t cardslot_event_thread
004e1b6c t cardbusmatch
004e1b9c t cardbusattach
004e1c6c t cardbus_read_tuples
004e20fc t parse_tuple
004e230c T cardbus_attach_card
004e2378 T cardbus_rescan
004e28fc t cardbusprint
004e2aa4 T cardbus_detach_card
004e2b64 T cardbus_childdetached
004e2c18 T cardbus_intr_establish
(しかし割込がかったということは、どこを実行していたかは、あまり重要ではない ?) config に加えておけばいいのかな。

B&W G3 で sysinst 完了:

% uname -a
NetBSD bwg3 4.99.20 NetBSD 4.99.20 (GENERIC) #4: Mon Jul 16 03:12:08 JST 2007  
root@genoa:/export/20070526tsc/src/sys/arch/macppc/compile/GENERIC macppc

X11 をどうするか ?:

現在選択肢として
  • xsrc
    1. xc --- 古い G2 Mac ではこれが必要 (of console)
    2. xfree 4.5.0
    3. xorg
    xsrc を使う時には
    ./build.sh -x -X /usr/xsrc -u release >& ../log-build.sh-x 
    
    のようにして release(8)を作る。何も考えないと 2 の xfree が選ばれる
  • pkgsrc -- xorg
    cd /usr/pkgsrc/meta-pkg/xorg
    sudo make package
    
  • XFree86 4.6.0
  • xorg X11R7.2
  • Tsubai 版 X11R6.6+XF4

pkgsrc の最初:

全く何も入っていない時に、例えば shells/static-tcsh で make する
/export/pkgsrc/shells
% cd static-tcsh
% make
すると then
  • digest を入れに行く
    => Required installed package digest>=20010302: NOT found
    
  • digest は perl を必要とする
    ===> Installing dependencies for digest-20070703
    pkg_admin: Cannot chdir to /var/db/pkg: No such file or directory
    => Required installed package perl>=5.0: NOT found
    
  • perl を入れようとすると digest がないので CHECKSUM が計算出来ない。やるなら NO_CHECKSUM=yes でやってね、と言う
    checksum: ``digest'' is missing
    ..
    ERROR: "/usr/bin/make NO_CHECKSUM=yes [other args]".
    
  • すると更に問題が起きる ... (記録がない) ... (後ほど)
そこで 4.99.3 の CD-ROM から perl を入れておいて急場をしのぐ。 一度 digest が入れば、perl を抜いても大丈夫なので、 pkg_delete perl してから作り直し。


2007年07月15日() 旧暦 [n年日記] [更新:"2007/07/16 01:16:39"]

#1 [Lang] Perl の my と local もひとつ our

Perl の変数宣言で my と local の違いは、google で探せば、多くの説明が見つかる。 しかし、似たもので、もう一つあったのを思い出せない。 use strict で Jcode.pm を使う時だったか。 Getopts の方だ。 弾 小飼さんの Web: perl - use strict; # and be happy を見ていたら、 探していたのは our らしいと分った。有難い。
my局所変数 local variable (perl 5 以降)
local大域変数を上書きして使う。外に戻れば、その値は捨てられる
our短い名前を使えるようにしてくれる
例えば package config の中で宣言されている $my_name は、package config 以外では
 $config::my_name; 
と書く必要がある。しかし our を使えば、$my_name だけで参照出来る。
# 話の都合上 Getopt を使うとする
use Getopt::Std;
# 宣言
our(%opts);
# 参照
getopt('t',\%opts ); # opt_t for TeX output;
2007-02-22 my,our,localってわかりにくぃ ? !
説明を読みましょう、ということで
 perldoc -f our
しかし説明の一番最初に、次のように言われると、
"our" associates a simple name with a package variable in the current package for use within the current scope.
これだけで大抵の人は、退散してしまうのでは、と思う。
our で変数を宣言すると、 パッケージ内 で宣言されている変数を、 今の名前空間で、短い名前で使えるようにする
これだとちょっと不完全なので:
our で変数を宣言すると、 (現在有効となっている) パッケージ 内で宣言されている変数を、 今の名前空間で、短い名前で使えるようにする。これはサブルーチン等で呼出した先で も利用可能
今更だけれど our って my の複数形だね。
my自分だけの
our私達の
localちょっと許してね
普通の(局所)変数は my を使う。local が必要なのは、こういう時、っていう説明があると いいかも知れない。

ただし、perl 4 で local だけだったのが perl 5 で my + local になった訳だから、 良く考えずに local だけで書いていても、(まあ)何とかなる、という考え方も あるかも知れない。しかし苦肉の策としての上位互換なのだから、なるべく my に置換えた方がいいよ、と言っておこう。

上の英語だけれど、associates ... with ___ , ___ を ... と関連付ける、 というのは母国語ならすぐ意味が分るのかな。しかし、a simple variable, a package variable の両方に a が付いているけれど、ちょっと違うのでは、 という気がする。英語的には「ある名前を .. ある名前の」だから、 確かに両方 a かも知れないが。 少なくとも、

"our" associates a simple name with its package variable in the current package for use within the current scope.
の気がする。


2007年07月14日() 旧暦 [n年日記] [更新:"2007/07/20 20:38:57"]

#1 [NetBSD] dereferencing pointer to incomplete type

In file included from src/sys/lkm/vfs/hfs/lkminit_vfs.c:53:
src/sys/fs/hfs/hfs.h: In function 'GET8B':
src/sys/fs/hfs/hfs.h:133: error: dereferencing pointer to incomplete type
src/sys/fs/hfs/hfs.h: In function 'GET16B':
src/sys/fs/hfs/hfs.h:142: error: dereferencing pointer to incomplete type
src/sys/fs/hfs/hfs.h: In function 'GET32B':
src/sys/fs/hfs/hfs.h:151: error: dereferencing pointer to incomplete type
こんな簡単そうな問題が解けないなんてさびしいので、じっくりと:
src/sys/fs/hfs/hfs.h: (これは名前が同じでも中身が全然違う)。以下の中身は、つばい版
 38 #include <miscfs/genfs/genfs_node.h>

 96 static u_int GET8B(struct buf *, int);
 97 static u_int GET16B(struct buf *, int);
 98 static u_int GET32B(struct buf *, int);

128 static inline u_int
129 GET8B(bp, off)
130         struct buf *bp;
131         int off;
132 {
133         u_int8_t *p = (char *)bp->b_data + off;
134         return *p; 
135 } 
136  
137 static inline u_int
138 GET16B(bp, off)
139         struct buf *bp;
140         int off;
141 {
142         u_int16_t *p = (void *)((char *)bp->b_data + off);
143         return *p;
144 }
145  
146 static inline u_int
147 GET32B(bp, off)
148         struct buf *bp;
149         int off;
150 {
151         u_int32_t *p = (void *)((char *)bp->b_data + off);
152         return *p;
153 }
sys/sys/buf.h:
119 struct buf {
120         union {
121                 TAILQ_ENTRY(buf) u_actq; /* Device driver queue when active. */
122 #if defined(_KERNEL) /* u_work is smaller than u_actq. XXX */
123                 struct work u_work;
124 #endif /* defined(_KERNEL) */
125         } b_u;
126 #define b_actq  b_u.u_actq
127 #define b_work  b_u.u_work
128         struct simplelock b_interlock;  /* Lock for b_flags changes */
129         volatile int b_flags;           /* B_* flags. */
130         int     b_error;                /* Errno value. */
131         int     b_prio;                 /* Hint for buffer queue discipline. */
132         int     b_bufsize;              /* Allocated buffer size. */
133         int     b_bcount;               /* Valid bytes in buffer. */
134         int     b_resid;                /* Remaining I/O. */
135         dev_t   b_dev;                  /* Device associated with buffer. */
136         struct {
137                 void *  b_addr;         /* Memory, superblocks, indirect etc. */
138         } b_un;
..
188 #define b_data   b_un.b_addr            /* b_un.b_addr is not changeable. */
dereferencing pointer to incomplete type の 日本語訳は 「ポインタ元へ参照の時に型が合っていない」
             +--------+
  ポインタ →|  実体  |
             +--------+
ポインタ参照 (pointer reference) とは、実体をポインタの値(アドレス)を使って参照したり 取扱ったりすること
ポインタ元へ参照とは、実体の値を得ること
(だと思う)
b_addr は void *
しかし最近は caddr_t になっている。逆か、以前は caddr_t で最近は void *。
上の問題は、実は 単に #include <sys/buf.h> が抜けていただけ のようだ。 こういう、何か不可解な場合、「単に定義されていないだけ」というのが良くある。

./build.sh sets:

という訳で、最後は ./build.sh sets だったけれど、久し振りに release が出来た。
===> Successful make sets
===> build.sh ended:   Sun Jul 15 02:08:24 JST 2007
===> Summary of results:
         build.sh command: ./build.sh -u 
	   -T /export/20070526ts/checkout/src/tooldir.NetBSD-4.99.9-powerpc sets
         build.sh started: Sun Jul 15 02:06:16 JST 2007
         NetBSD version:   4.99.20
         MACHINE:          macppc
         MACHINE_ARCH:     powerpc
         Build platform:   NetBSD 4.99.9 macppc
         HOST_SH:          /bin/sh
         TOOLDIR path:     /export/20070526ts/checkout/src/tooldir.NetBSD-4.99.9-powerpc
         DESTDIR path:     /export/20070526ts/checkout/src/obj/destdir.macppc
         RELEASEDIR path:  /export/20070526ts/checkout/src/obj/releasedir
         makewrapper:      
 /export/20070526ts/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/nbmake-macppc
         Updated 
 /export/20070526ts/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/nbmake-macppc
         Building sets from pre-populated /export/20070526ts/checkout/src/obj/destdir.macppc
         Successful make sets
         build.sh ended:   Sun Jul 15 02:08:24 JST 2007
===> .
(と思ったら kernel が出来ていない、どうも変だと思った) -u を不用意に使うと、こうなるらしい。

... ではなくて、flist で失敗した。flist を通すようにした。通ったので全て 終ったと思って sets を実行、というのが違っていて、「flist check が終っても」 まだ終了には程遠い、ということだったと思う。



2007年07月13日(金) 旧暦 [n年日記] [更新:"2007/07/13 08:22:46"]

#1 [NetBSD][ps3] undefined ref to `__sigtramp_siginfo_2'

src/obj/destdir.ps3/usr/lib/libc.a(__sigaction14_sigtramp.o):(.toc1+0x0): 
undefined reference to `__sigtramp_siginfo_2'
こう言われていて、nm で調べると、
powerpc/bin/powerpc64--netbsd-nm ./libc/obj/__sigaction14_sigtramp.o
0000000000000000 T .__libc_sigaction14
0000000000000000 W .__sigaction14
                 U .__sigaction_sigtramp
0000000000000000 D __libc_sigaction14
0000000000000000 W __sigaction14
                 U __sigtramp_siginfo_2

powerpc64--netbsd-nm ./libc/obj/__sigtramp2.o 
0000000000000000 T .__sigtramp_siginfo_2
ttyp0:makoto@genoa 8:04:24/070713(...src/lib)> 
片方は . が付いていて、他方は付いていない。 参照側から、 __sigaction_sigtramp は . が付いているのに __sigtramp_siginfo_2 は付いていない。 まさかと思うけれど:
Index: __sigaction14_sigtramp.c
===================================================================
RCS file: src/lib/libc/arch/powerpc64/sys/__sigaction14_sigtramp.c,v
retrieving revision 1.3
diff -u -r1.3 __sigaction14_sigtramp.c
--- __sigaction14_sigtramp.c    11 Jul 2007 09:58:49 -0000      1.3
+++ __sigaction14_sigtramp.c    12 Jul 2007 23:12:11 -0000
@@ -45,6 +45,7 @@
 
 __weak_alias(__sigaction14, __libc_sigaction14)
 __weak_alias(.__sigaction14, .__libc_sigaction14)
+__weak_alias(__sigtramp_siginfo_2,.__sigtramp_siginfo_2)
 
 int
 __libc_sigaction14(sig, act, oact)


2007年07月12日(木) 旧暦 [n年日記] [更新:"2007/07/13 09:38:32"]

#1 [NetBSD] make includes

./build.sh の動作のうち、include file に関連ありそうなことを調べたかったら、
cd src
make includes
すればいい。ただし、ここで使う make は上のように単純な make ではなく、 例えば
/export/20070616a/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/nbmake-ps3
のように、環境変数を設定してくれるものを使う。実際には、次のように入力する
sudo \
/export/20070616a/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/nbmake-ps3 \
includes
(横幅の都合上 \ で切っているが実際には一行でよい)

初めから確認するなら:

rm -rf obj/destdir.ps3/usr/includes
nbmake-ps3 do-distrib-dirs
nbmake-ps3 includes
のようにすれば良い。あるいは、次のように一部だけ実行するというような ことも可能。
ttyp0:makoto@genoa 0:09:45/070713(...checkout/src)> ( cd sys/arch ; sudo
/export/20070616a/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/nbmake-ps3
includes )

includes ===> ps3
includes ===> ps3/include
includes ===> powerpc64
includes ===> powerpc64/include
今は sys/arch/Makefile を次のように変更している
+.if ${MACHINE} == ps3
+SUBDIR+= powerpc64
+SUBDIR+= powerpc
+.endif


2007年07月11日(水) 旧暦 [n年日記] [更新:"2007/07/12 07:38:05"]

#1 [NetBSD][PS3] sibling call optimization (fails)

/export/20070616a/checkout/src/tooldir.NetBSD-4.99.9-powerpc/ lib/gcc/powerpc64--netbsd/4.1.2/../../../../powerpc64--netbsd/bin/ld:
/export/20070616a/checkout/src/obj/destdir.ps3/usr/lib/libc.a(write.o)(.text+0xc):
sibling call optimization to `.__cerror' does not allow
automatic multiple TOCs; recompile with -mminimal-toc or
-fno-optimize-sibling-calls, or make `.__cerror'
/extern/export/20070616a/checkout/src/tooldir.NetBSD-4.99.9-powerpc/ lib/gcc/powerpc64--netbsd/4.1.2/../../../../powerpc64--netbsd/bin/ld:
final link failed: Bad value

collect2: ld returned 1 exit status

*** Failed target: racoon

*** Failed command:
/export/20070616a/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/powerpc64--netbsd-gcc
-Wl,-nostdlib -o racoon
-Wl,-rpath-link,/export/20070616a/checkout/src/ obj/destdir.ps3/lib:/export/20070616a/checkout/src/obj/destdir.ps3/usr/lib
-L/export/20070616a/checkout/src/obj/destdir.ps3/lib
-B/export/20070616a/checkout/src/obj/destdir.ps3/usr/lib/
-B/export/20070616a/checkout/src/obj/destdir.ps3/usr/lib/
main.o session.o isakmp.o handler.o isakmp_ident.o
isakmp_agg.o isakmp_base.o isakmp_quick.o isakmp_inf.o
isakmp_newg.o gssapi.o dnssec.o getcertsbyname.o privsep.o
pfkey.o admin.o evt.o ipsec_doi.o oakley.o grabmyaddr.o
vendorid.o policy.o localconf.o remoteconf.o
crypto_openssl.o algorithm.o proposal.o sainfo.o
strnames.o plog.o logger.o schedule.o str2val.o safefile.o
backupsa.o genlist.o rsalist.o cftoken.o cfparse.o
prsa_tok.o prsa_par.o isakmp_xauth.o isakmp_cfg.o
isakmp_unity.o throttle.o isakmp_frag.o nattraversal.o
vmbuf.o sockmisc.o misc.o -ll -ly -lipsec -lutil -lradius
-lpam -lutil -lssh -lkafs -lkrb5 -lasn1 -lroken -lcom_err
-lcrypto -lskey -lradius -lcrypt -lrpcsvc -lutil -lgssapi
-lkrb5 -lcom_err -lroken -lasn1 -lcrypto -lcrypt
-L/export/20070616a/checkout/src/obj/destdir.ps3/usr/lib
-L/export/20070616a/checkout/src/obj/destdir.ps3/usr/lib

*** Error code 1
-mminimal-toc
-fno-optimize-sibling-calls
を付けたり
.globl __cerror
という文を加えたりしているのですが、一向に解決の気配無


2007年07月09日(月) 旧暦 [n年日記] [更新:"2007/07/10 01:08:29"]

#1 [NetBSD] /usr/include/machine は何時作成

build.sh の時に /usr/include/machine はいつ作られるのかな、というのが今日の疑問。 src/share/mk/bsd.kmod.mk
過去に成功している記録を見ればいいという気もするが。

現在は次のようになっているが:

ttyp2:makoto@genoa 18:39:40/070709(...checkout/src)> ls -l sys/arch/{powerpc*,ps3}/include/types.h
-rw-r--r--  1 makoto  wheel  2569 Mar 23 08:02 sys/arch/powerpc/include/types.h
-rw-r--r--  1 makoto  wheel  2576 Jul  9 08:33 sys/arch/powerpc64/include/types.h
-rw-r--r--  1 makoto  wheel   194 Mar 22 14:20 sys/arch/ps3/include/types.h
ttyp2:makoto@genoa 18:39:53/070709(...checkout/src)> find obj/destdir.ps3/usr/include/ -name types.h -ls
       2806 Jul  9 11:21 obj/destdir.ps3/usr/include/rpc/types.h
       9186 Jul  9 11:21 obj/destdir.ps3/usr/include/sys/types.h
        194 Jul  9 15:25 obj/destdir.ps3/usr/include/powerpc64/types.h
       2569 Jul  9 13:24 obj/destdir.ps3/usr/include/powerpc/types.h
        194 Mar 22 14:20 obj/destdir.ps3/usr/include/ps3/types.h
ttyp2:makoto@genoa 18:39:56/070709(...checkout/src)> 
2576 Jul  9 08:33 sys/arch/powerpc64/include/types.h
が
 194 Jul  9 15:25 obj/destdir.ps3/usr/include/powerpc64/types.h
となってしまうのはいただけない。今は次のようにしている。
ttyp1:makoto@genoa 18:42:06/070709(...sys/arch)> cvs diff -r 1.1 Makefile
Index: Makefile
===================================================================
RCS file: /export/20070616a/Repository/src/sys/arch/Makefile,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- Makefile    8 Jul 2007 22:06:27 -0000       1.1
+++ Makefile    9 Jul 2007 05:54:00 -0000       1.3
@@ -17,6 +17,10 @@
 ARCHSUBDIR= powerpc
 .endif
 
+.if ${ARCHSUBDIR} == "ps3"
+ARCHSUBDIR+= powerpc64
+.endif
+
 .if ${MACHINE} != ${ARCHSUBDIR}
 .if exists(${ARCHSUBDIR})
 SUBDIR+= ${ARCHSUBDIR}
ttyp1:makoto@genoa 18:42:13/070709(...sys/arch)> 
次のものを手で消しておいたら、これは入らなかったので、上の変更は効いていないらしい。
   194 Jul  9 15:25 obj/destdir.ps3/usr/include/powerpc64/types.h
次のように書くものなのかな
sys/arch/arm/Makefile:SUBDIR=   include include/arm26 include/arm32
これは間違いらしい。次のようになってしまう。
cleandir ===> sys/arch/ps3/include/powerpc64
cd: can't cd to /export/20070616a/checkout/src/sys/arch/ps3/include/powerpc64

DEPINCS:

 sys/arch/ps3/include/Makefile
DEPINCS= /usr/include/powerpc64
という行を加えて見たが、
includes ===> sys/arch/ps3/include
nbmake: don't know how to make /usr/include/powerpc64. Stop
と言われてしまった
-.include <bsd.kinc.mk>
+.include "../../powerpc64/include/Makefile"
src/sys/arch/ps3/include/Makefile を上のように変更した場合には:
dependall ===> lib/csu/powerpc64
# create powerpc64/crt0.d
CC=/export/20070616a/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/powerpc64--netbsd-gcc
/export/20070616a/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/nbmkdep
-f crt0.d --
-I/export/20070616a/checkout/src/lib/csu/powerpc64 -DLIBC_SCCS
-DPIC -DDYNAMIC -DELFSIZE=32
-I/export/20070616a/checkout/src/libexec/ld.elf_so
-I/export/20070616a/checkout/src/lib/csu/powerpc64/../common_elf
-I/export/20070616a/checkout/src/lib/libc/dlfcn -DDWARF2_EH
-DJCR -DDSO_HANDLE -nostdinc -isystem
/export/20070616a/checkout/src/obj/destdir.ps3/usr/include
/export/20070616a/checkout/src/lib/csu/powerpc64/crt0.c
In file included from /export/20070616a/checkout/src/obj/destdir.ps3/usr/include/powerpc64/types.h:3,
from /export/20070616a/checkout/src/obj/destdir.ps3/usr/include/powerpc64/types.h:3,
...
/export/20070616a/checkout/src/obj/destdir.ps3/usr/include/powerpc64/types.h:3:29:
error: #include nested too deeply
これは何故かと見ると、次のようになっていて
# install /export/20070616a/checkout/src/obj/destdir.ps3/usr/include/powerpc64/types.h STRIP=/export/20070616a/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/powerpc64--netbsd-strip /export/20070616a/checkout/src/tooldir. NetBSD-4.99.9-powerpc/bin/nbinstall -N /export/20070616a/checkout/src/etc -c -r -c -o root -g wheel -m 444 types.h /export/20070616 a/checkout/src/obj/destdir.ps3/usr/include/powerpc64/types.h
この場合、 sys/arch/ps3/include から
install types.h  /export/20070616a/checkout/src/obj/destdir.ps3/usr/include/powerpc64/endian.h
となってしまっているので良くない。何か違う気がするが、取敢えず、 次の変更で回避可能
+++ sys/arch/ps3/Makefile       9 Jul 2007 15:23:13 -0000
@@ -1,5 +1,5 @@
 #      $NetBSD: Makefile,v 1.2 1998/06/12 23:22:39 cgd Exp $
 
-SUBDIR=        include
+SUBDIR=        include ../powerpc64/include

/export/20070616a/checkout/src/lib/libc/arch/powerpc64/gen/makecontext.c(56): syntax error [249]


2007年07月08日() 旧暦 [n年日記] [更新:"2007/07/10 09:25:31"]

#1 [NetBSD] raidctl -R を mount したままやるには

disk を何かの都合で交換する必要があった時に
  • MBR と disklabel を書く (実際には dd で最初の 10 sector くらい写せばいい ?)
  • raidctl [-v] -R component dev
    
    で修復する
だと思っているが、この二番目の時に umount が必要と言われる。これを mount したままで 行なうには ?
ttyp0:makoto@tera 8:58:35/070709(~)> sudo raidctl -R /dev/wd0h raid1
raidctl: unable to open device file: raid1

ttyp0:makoto@tera 8:58:47/070709(~)> sudo umount /export/
ttyp0:makoto@tera 8:58:51/070709(~)> sudo raidctl -R /dev/wd0h raid1


2007年07月07日() 旧暦 [n年日記] [更新:"2007/08/08 10:54:18"]

#1 [NetBSD] JNUG の会長になってしまった

日本 NetBSD ユーザーズ・グループ総会 と NetBSD BOF というのがあって、何と JNUG の会長になってしまいました。 上林さんが二年間精力的に活動された後なので、それを見習ってやって見たいと思います。 皆様、よろしくお願い致します。

BOF:

ColdFire (清原さん)
FreeScale の評価ボード (evaluation board) で NetBSD を動かす
MMU が m68k と違うので、書直す必要がある
無線 LAN は使えていますか / Atherosドライバの移植 (宇夫陽次郎さん)
802.11 のプロトコルスタックは FreeBSD と同じはずだったのが、最近更新され ていませんが何故 ?
pkgsrc の何か (小畑明男さん)
pkgsrc/graphics/rabbit を使って発表 (X11 無の Mac OS X)
bulk build の方法として pbulk (pkgsrc/pkgtools/pbulk) がある
PLAYSTATION 3 (藤原 誠)
MagicPoint OHP
Q: mirror and build.status にはどのくらい disk 容量を使っていますか ?
A: 今は 90G (90,296,196) です。
Mobile IPv6/ (島慶一さん)
Vista に入らなかったのは残念
小ネタ (上林将郎さん)
  • automake -> bmake 変換
  • prolib proplib (設定を XML で記述する)
NetBSD と4.0と今後の展望 (曽田哲之さん/ 上林将郎さん)
PGP Key Sign Party

bc bench:

Q: bc bench って何ですか ... A: 大島さんの life work です
bc の使い方で、man すると分ることだけれど、bc -l と起動して a(1) という式を書くと archtangent がちょうど 1 になる値を返す それは 45 度 = π / 4 なので、4 * a(1) とすると円周率になる。 また scale で桁数を指定出来る。 さて
time 'echo "scale = 2000; 4 * a(1)" | bc -l' > /dev/null
PowerPC G4/1.2GHz (7455)
 time sh -c 'echo scale=2000\;4*a\(1\) | bc -l' > /dev/null
7.979u 0.005s 0:08.14 97.9%     0+0k 0+0io 0pf+0w
または
ttyp4:makoto@bologna 10:12:30/070708(~)> sh
$ time sh -c 'echo "scale = 2000; 4 * a(1)" | bc -l ' > /dev/null
        8.09 real         7.97 user         0.00 sys
Mac mini 1.42GHz (7447A)
$ time sh -c 'echo "scale = 2000; 4 * a(1)" | bc -l ' > /dev/null
        6.75 real         6.73 user         0.01 sys
PowerPC G4/1.8GHz (7447A)
ttyp1:makoto@genoa 10:13:29/070708(~)> sh
$ time sh -c 'echo "scale = 2000; 4 * a(1)" | bc -l ' > /dev/null
        5.32 real         5.31 user         0.00 sys
PS3/SPE PS3/PPE
time sh -c 'echo "scale = 2000; 4 * a(1)" | bc -l ' > /dev/null
     12.84 real   12.79 user 0.01 sys
G4 の 800MHz 相当


2007年07月05日(木) 旧暦 [n年日記] [更新:"2007/07/08 00:05:49"]

#1 [NetBSD] (ATA) disk の線のつなぎ方

きょうは貴重な経験をした。
Tsubai-BSDCDROM を使って PowerMac G4/AGP (改 1.8G) に 4.99.9 を入れようとして
  • CDROM から C 起動
  • pdisk を使って Apple Partition Map を書いて区画
  • disklabel wd0 で確認
  • /dev/wd0a を newfs して mount しておいて、CDROM から netbsd.macpp (RAM disk カーネル)を写す
  • OF に戻って、書いたばかりの RAM disk カーネルで起動出来るか確認
boot-device cd:,ofwboot.elf
boot-file hd:3/netbsd.macppc
boot
他に次のようなものも試した
boot-file /pci@f2000000/pci-bridge/mac-io/ata-3@20000/disk/@0:3/netbsd.macppc
これで表示されるものには
device not configured (hd:3/netbsd.macppc の時)
an unpropriate file format
file not found
等があって、とても不可解だった。実は、ここまでは disk のフラット線 (flat cable) の接続が
CPU/Board i/f ...... DISK .... 開放 (open)
のように、線の先が未使用で、disk を途中に接続していた。これに気が付いて
CPU/Board i/f ...... (未接続) .... DISK
としたら
boot-device cd:,ofwboot.elf
boot-file hd:3/netbsd.macppc
これで起動した。Open FirmWare は敏感で、NetBSD とかは、それでも読書き出来る。 かなり不思議な気もするが、 「仕様の通りに使わなくてもたまたま動いたものを、良しとするのは間違っている」 よい典型かも知れない


2007年07月01日() 旧暦 [n年日記] [更新:"2007/07/03 09:03:40"]

#1 [NetBSD] PS3 のカーネル 動かず

やっと自力で作ることが出来たが:
===> Kernels built from UCONS:
  /export/20070526/checkout/src/sys/arch/ps3/compile/UCONS/netbsd
===> build.sh ended:   Sun Jul  1 17:25:39 JST 2007
===> Summary of results:
         build.sh command: ./build.sh -m ps3 -a powerpc64 -T 
		/export/20070526/checkout/src/tooldir.NetBSD-4.99.9-powerpc kernel=UCONS
         build.sh started: Sun Jul  1 17:19:16 JST 2007
         NetBSD version:   4.99.20
         MACHINE:          ps3
         MACHINE_ARCH:     powerpc64
         Build platform:   NetBSD 4.99.9 macppc
         HOST_SH:          /bin/sh
         TOOLDIR path:     /export/20070526/checkout/src/tooldir.NetBSD-4.99.9-powerpc
         DESTDIR path:     /export/20070526/checkout/src/obj/destdir.ps3
         RELEASEDIR path:  /export/20070526/checkout/src/obj/releasedir
         makewrapper:      /export/20070526/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/nbmake-ps3
         Updated /export/20070526/checkout/src/tooldir.NetBSD-4.99.9-powerpc/bin/nbmake-ps3
         Building kernel without building new tools
         Building kernel:  UCONS
         Build directory:  /export/20070526/checkout/src/sys/arch/ps3/compile/UCONS
         Kernels built from UCONS:
          /export/20070526/checkout/src/sys/arch/ps3/compile/UCONS/netbsd
         build.sh ended:   Sun Jul  1 17:25:39 JST 2007
===> .
315.493u 70.664s 6:26.07 100.0% 0+0k 110+4489io 0pf+1w
(画面の写し)
kboot: tftp://example.com/ps3/netbsd-4.99.20
get memory ranges:1
Modified cmdline:root=LABEL=/
segment[0].mem:0x17e6000 memsz:6414336
segment[1].mem:0x1e04000 memsz:16384
segment[2].mem:0x7bff000 memsz:4096
VUArt: cleanup.
SYSMGR: cleanup. (close event mask)
続き (port-powerpc-ja)



最近の日記
2024年07月03日
kicad oddity
2024年05月08日
comparison on ./buildsh tools
2024年05月06日
py-setuptools (python 3.11.9)
make release took 1 hours and 10 min
qemu invocation for 10.99.10
2024年05月05日
Windows 10 version
serial connection
bc bench
2024年05月04日
Trial on 10.99.10
another version (later trial) to succeed
以上、18 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)