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年10月25日
Die Frau ohne Schatten 影のない女
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
以上、18 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)