Release の上で、同じものをもう一度組立てるのは簡単なのですが、 動いている版と作ろうとする版が時間的に離れていると、 必ずしもそう簡単ではありません。要するに出来たものを少しずつ 更新していくことが必要になります。というのが 2001/11 月頃までの知識でしたが、 NEW TOOLCHAIN というしくみになって、./build.sh するようになると、
組立てるのに必要な道具、例えば cc, make, as などをまず作ることから始めるので、そうでもなくなり、 cross も含めて、どのような系からでも release(7) が作れるようになっているはずです (但し x の方は作ったものを動かして書体を作ったりするので、self に限ります)。
src を開けて、cd src 、場合によっては cd usr/src してから、
setenv DESTDIR /hogedest setenv RELEASEDIR /hogerelease time ./build.sh -D $DESTDIR -R $RELEASEDIR >& ../logのようにするだけで、全て作ってくれます。
./build.sh -help とすると、次のような表示が出ます。 Usage: ./build.sh [-bdorUu] [-a arch] [-B buildid] [-j njob] [-m mach] [-w wrapper] [-D dest] [-M obj] [-O obj] [-R release] [-T tools] -a: set MACHINE_ARCH to arch (otherwise deduced from MACHINE) -B: set BUILDID to buildid -b: build nbmake and nbmake wrapper script, if needed -D: set DESTDIR to dest -d: build a full distribution into DESTDIR (including etc files) -j: Run up to njob jobs in parallel; see make(1) -M: set obj root directory to obj (sets MAKEOBJDIRPREFIX) -m: set MACHINE to mach (not required if NetBSD native) -n: show commands that would be executed, but do not execute them -O: set obj root directory to obj (sets a MAKEOBJDIR pattern) -o: set MKOBJDIRS=no (do not create objdirs at start of build) -R: build a release (and set RELEASEDIR to release) -r: remove contents of TOOLDIR and DESTDIR before building -T: set TOOLDIR to tools -t: build and install tools only (implies -b) -U: set UNPRIVED -u: set UPDATE -w: create nbmake script at wrapper (default TOOLDIR/bin/nbmake-MACHINE) Note: if -T is unset and TOOLDIR is not set in the environment, nbmake will be [re]built unconditionally.この解説は時間があれば書加えます。
自分の都合は /etc/mk.conf に書きます。設定する変数名は man 5 mk.conf に説明があります。 例えば、
.ifndef BSD_PKG_MK DESTDIR= /export/20020114d # not a good practice to hardcode RELEASEDIR= /export/20020114r # not a good practice to hardcode #### USETOOLS=yes #### USE_NEW_TOOLCHAIN=yes # TOOLCHAIN_MISSING=yes # set only if the architecture does not have it .endif # For pkgsrc .ifdef BSD_PKG_MK ACCEPTABLE_LICENSES+=fee-based-commercial-use opera-license no-commercial-use ACCEPTABLE_LICENSES+=adobe-acrobat-license jdk-license shareware no-profit .endif # make cleandir && cvs update -dP # ./build.sh -r -t >& /tmp/bootstrap-$DATE # ./build.sh -R >& ../log
区分 | FTP | /usr/src | $DESTDIR (/,/usr) | $RELEASEDIR (*.tgz) | |
作業等 | *.tar.gz | tar zxf 後 | ./build.sh | ./build.sh -R $RELEASEDIR | |
src | 104 | 506 | 820 | 130 | 55 |
xsrc (xc = XF86 3.x) | 35 | 172 | 226 | 30 | 13 |
xsrc (xfree = XF86 4.x) | 50 | 258 | - | ||
doc | 0.2 | 0.7 | - | ||
pkgsrc | 9.6 | 88 | - | ||
Total | 197 | 1025 | 68 |
と書いていたが、例えば 14kBytes/s の回線だとして、
tar 形式の 100MBytes は 7,000 秒。約 2 時間
anoncvs だと 2:40 くらい。
とすると、日付について自由に取出せる anoncvs の方が有利な気がする。
最近は、例えば「10 日くらい前のものを取出して、その中で問題のあるものだけを少し
新しくする」方法を気に入っている。
そういう時は anoncvs に限る。(相手の機械に少し負担が増えるけれど)
譜名 | Repository | Root | |
譜名例 | src/bin/cat/CVS/Repository | src/bin/cat/CVS/Root | |
取得方法 | *.tar.gz | /cvsroot/basesrc/bin/cat | anoncvs@anoncvs.netbsd.org:/cvsroot |
anoncvs | basesrc/bin/cat | :pserver:anoncvs@sup.jp.netbsd.org:/cvs/cvsroot | |
注釈 | (内容は一例) tar.gz の方は /cvsroot が頭に余分に付いている | 内容は一定(*1) |
(*1) ssh を使う場合 (setenv CVS_RSH ssh) には更に :pserver: という字は不要になる。
#!/bin/sh for f in `find . -name Repository` ; do echo $f mv $f $f.orig sed -e 's|^/cvsroot/||' $f.orig > $f rm $f.orig done echo ":pserver:anoncvs@sup.jp.netbsd.org:/cvs/cvsroot" > /tmp/A find . -name Root -exec cp /tmp/A {} \;
makoto@harry 20:23:17/990220(/usr)> foreach i ( src/tar_files/*tar.gz ) foreach? echo $i foreach? tar zxf $i foreach? end(この後で CVS で更新するなら、更新する前までに、上に書いてある tar.gz -> CVS 形式変更 をしておく )
cvs -d :pserver:anoncvs@sup.jp.netbsd.org:/cvs/cvsroot login (anoncvs) cvs -d :pserver:anoncvs@sup.jp.netbsd.org:/cvs/cvsroot checkout -c cvs -d :pserver:anoncvs@sup.jp.netbsd.org:/cvs/cvsroot checkout src cvs -d :pserver:anoncvs@sup.jp.netbsd.org:/cvs/cvsroot update -P -d srcなどを使う。 (上記 checkout -c すると、利用出来るモジュールの名前を全て表示する)
"Makefile", line 68: Malformed conditional (${MKMAN} != "no" && !defined(_BUILD))/etc/mk.conf を設定する
setenv DESTDIR /usr/DESTDIR ここに作る。そうしておかないと 後で make release した時に、/etc などを 上書きしてしまう makedir $DESTDIR make build (例えば三時間) setenv BUILD_DONE 1 setenv RELEASEDIR /usr/RELEASE ここに base.tgz などを作ってくれる make release GENERIC, INSTALL などの kernel も作るので時間 がかかる/usr/xsrc も同様にする
ttyp0:makoto@quick 10:11:14/020604(/export)> foreach i (/a/j/NetBSD/NetBSD-current/20020526/src/*.tar.gz) foreach? echo $i foreach? tar zxf $i foreach? end ttyp0:makoto@quick 10:16:20/020604(/export)> mv src 20020526 ttyp0:makoto@quick 10:16:23/020604(/export)> ln -s 20020526 src ttyp0:makoto@quick 10:16:26/020604(/export)> cd 20020526 ttyp0:makoto@quick 10:16:31/020604(/export/20020526)> which gcc /usr/pkg/bin/gcc ttyp0:makoto@quick 10:16:39/020604(/export/20020526)> which cc /usr/pkg/bin/cc ttyp0:makoto@quick 10:16:43/020604(/export/20020526)> gcc --version 3.0.4 ttyp0:makoto@quick 10:16:47/020604(/export/20020526)> cc --version 3.0.4 ttyp0:makoto@quick 10:16:51/020604(/export/20020526)> cd sys/arch ttyp0:makoto@quick 10:17:01/020604(...sys/arch)> mv macppc macppc-HEAD ttyp0:makoto@quick 10:17:08/020604(...sys/arch)> mv powerpc powerpc-HEAD tar zxf /a/j/nandra/macppc-020525.tar.gz ttyp0:makoto@quick 10:17:15/020604(...sys/arch)> cd ../.. ttyp0:makoto@quick 10:17:42/020604(/export/20020526)> patch -s -p0 < ~/Mail/ml/port-powerpc-ja/1934 ttyp0:makoto@quick 10:17:50/020604(/export/20020526)> mkdir /export/20020526d ttyp0:makoto@quick 10:18:03/020604(/export/20020526)> mkdir /export/20020526r ttyp0:makoto@quick 10:18:04/020604(/export/20020526)> su time ./build.sh -R /export/20020526r -D /export/20020526d >& ../20020526-build.sh
130 21:28 cvs -d $LOCAL/NetBSD-cvs/main co -D 20021028-UTC src三時間くらいで出来ている ?
132 22:00 mkdir 20021028r
133 22:00 mkdir 20021028d
ttyp1:root@quick 22:01:43/021101(/export-n/src)# ./build.sh -D /export-n/20021028d -R /export-n/20021028r > & ../log-20021028.log
ttyp1:root@quick DING!/021102(/export-n/src)# ls -l ../log-20021028.log
-rw-r--r-- 1 root wheel 18736419 Nov 2 01:00 ../log-20021028.log
ttyp1:root@quick 8:15:39/021102(/export-n/src)#
(cd ../gnu/usr.sbin/sendmail/cf/cf; /ex2/current-ts/obj/tools/tools.NetBSD-1.6A-powerpc/bin/nbmake distribution)以上は obj/gnu/usr.sbin/sendmail/cf/ の下にそれがないことが問題。
STRIP=/ex2/current-ts/obj/tools/tools.NetBSD-1.6A-powerpc/bin/powerpc--netbsd-strip /ex2/current-ts/obj/tools/tools.NetBSD-1.6A-powerpc/bin/nbinstall -c -p -r -o root -g wheel -m 444 netbsd-proto.cf /ex2/current-ts/20020922d/etc/mail/sendmail.cf
nbinstall: netbsd-proto.cf: stat: No such file or directory
*** Error code 1
STRIP=/ex2/current-ts/obj/tools/tools.NetBSD-1.6A-powerpc/bin/powerpc--netbsd-strip /ex2/current-ts/obj/tools/tools.NetBSD-1.6A-powerpc/bin/nbinstall -c -r -o root -g wheel -m 444 netbsd-proto.cf /ex2/current-ts/20020830d/etc/mail/sendmail.cf(cd /ex2/current-ts/tar-src/etc && /ex2/current-ts/obj/tools/tools.NetBSD-1.6A-powerpc/bin/nbmake INSTALL_DONE=1 release) の後のこと。
nbinstall: netbsd-proto.cf: stat: No such file or directory
*** Error code 1
nbmake: stopped in /ex2/current-ts/tar-src
8592.412u 3486.680s 3:59:25.83 84.0% 0+0k 29144+436427io 15823149pf+116w
makoto@u 4:18:34/020830(/ex2/current-ts)# find tar-src -name netbsd-proto.cf -ls
1885684 92 -r--r--r-- 1 root wheel 46149 Aug 22 11:30 tar-src/gnu/usr.sbin/sendmail/cf/cf/netbsd-proto.cf
makoto@u 1:56:24/020717(/ex2/current)# time ./setup.sh Current Dir: /ex2/current trac-rw-r--r-- 1 root wheel 20120847 Jul 17 12:27 /ex2/current/20020717.log 10939.132u 3720.940s 5:02:43.43 80.7% 0+0k 24283+472964io 16778823pf+189w makoto@u 12:27:03/020717(/ex2/current)#出来たやうだ。 ftp://ftp.ki.nu/pub/NetBSD/arch/macppc/snapshot/20020717/ tiBook 550 に入れて見たが、 一応動いている 気がする。
makoto@u 22:26:01/020716(/ex2/current)# time ./setup.sh Current Dir: /ex2/current -rw-r--r-- 1 root wheel 16140726 Jul 17 01:56 /ex2/current/20020716.log 8334.087u 3126.491s 3:30:19.03 90.8% 0+0k 16403+348926io 13329709pf+41w makoto@u 1:56:24/020717(/ex2/current)#
CC=/ex2/current/src/tools/obj/tools.NetBSD-1.6A-powerpc/bin/powerpc--netbsd-gcc /ex2/current/src/tools/obj/tools.NetBSD-1.6A-powerpc/bin/nbmkdep -a -nostdinc -isystem /ex2/current/20020716d/usr/include /ex2/current/src/regress/lib/libc/stdlib/getopt/getopt.c
/ex2/current/src/tools/obj/tools.NetBSD-1.6A-powerpc/bin/powerpc--netbsd-gcc -O2 -Werror -nostdinc -isystem /ex2/current/20020716d/usr/include -c /ex2/current/src/regress/lib/libc/stdlib/getopt/getopt.c
cc1: warnings being treated as errors
/ex2/current/src/regress/lib/libc/stdlib/getopt/getopt.c: In function `main':
/ex2/current/src/regress/lib/libc/stdlib/getopt/getopt.c:72: warning: comparison is always true due to limited range of data type
/ex2/current/src/regress/lib/libc/stdlib/getopt/getopt.c:98: warning: comparison is always false due to limited range of data type
*** Error code 1
rm: grep is a directory rm: ktrace: is a directory rm: man: is a directory rm: mrouted: is a directorycvs で初めから checkout したばかりのものでも、こうなることがある (?)
124 7:21 rm -rf src/gnu/usr.bin/grep/grep/ 130 7:26 rm -rf src/usr.bin/ktrace/ktrace/ 133 7:33 rm -rf src/usr.bin/man/man/ 135 7:38 rm -rf src/usr.sbin/mrouted/mrouted/しておく
makoto@u 7:35:40/020716(/ex2/current)# time ./setup.sh Current Dir: /ex2/current -rw-r--r-- 1 root wheel 19996454 Jul 16 12:13 /ex2/current/20020716.log 10586.975u 3666.741s 4:34:38.39 86.4% 0+0k 15941+415583io 16548744pf+207w
SMALLPROG=1 MAKE=/ex2/current/src/tools/obj/tools.NetBSD-1.6A-powerpc/bin/nbmake /ex2/current/src/tools/obj/tools.NetBSD-1.6A-powerpc/bin/nbcrunchgen -f -D /ex2/current/src -L /ex2/current/20020716d/usr/lib -q -d "-Os -mmultiple -mstring" ramdiskbin.conf
ramdiskbin.conf: chown: error: no objpaths specified or calculated.
ramdiskbin.conf: chown: ignoring program because of errors.
Run "make -f ramdiskbin.mk objs exe" to build crunched binary.
*** Error code 1
makoto@u 13:10:38/020716(/ex2/current)# pushd ./src/distrib/macppc/floppies/ramdisk/obj
makoto@u 13:10:47/020716(...ramdisk/obj)# env SMALLPROG=1 MAKE=/ex2/current/src/tools/obj/tools.NetBSD-1.6A-powerpc/bin/nbmake /ex2/current/src/tools/obj/tools.NetBSD-1.6A-powerpc/bin/nbcrunchgen -f -D /ex2/current/src -L /ex2/current/20020716d/usr/lib -q -d "-Os -mmultiple -mstring" ramdiskbin.conf
ramdiskbin.conf: fdisk: error: no objpaths specified or calculated.
ramdiskbin.conf: chown: error: no objpaths specified or calculated.
ramdiskbin.conf: fdisk: ignoring program because of errors.
ramdiskbin.conf: chown: ignoring program because of errors.
Run "make -f ramdiskbin.mk objs exe" to build crunched binary.
makoto@u 13:10:52/020716(...ramdisk/obj)# make -f ramdiskbin.mk objs exe
if [ \! -d cat ]; then mkdir cat; fi; cd cat; printf ".PATH: /ex2/current/src/bin/cat\n.CURDIR:= /ex2/current/src/bin/cat\n.include \"\${.CURDIR}/Makefile\"\n" | make CRUNCHEDPROG=1 DBG="-Os -mmultiple -mstring" -f- depend cat.o
mkdep -a /ex2/current/src/bin/cat/cat.c
cc -Os -mmultiple -mstring -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wreturn-type -Wcast-qual -Wpointer-arith -Wwrite-strings -Wswitch -Wshadow -Werror -c /ex2/current/src/bin/cat/cat.c
if [ \! -d chmod ]; then mkdir chmod; fi; cd chmod; printf ".PATH: /ex2/current/src/bin/chmod\n.CURDIR:= /ex2/current/src/bin/chmod\n.include \"\${.CURDIR}/Makefile\"\n" | make CRUNCHEDPROG=1 DBG="-Os -mmultiple -mstring" -f- depend chmod.o
mkdep -a /ex2/current/src/bin/chmod/chmod.c
cc -Os -mmultiple -mstring -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wreturn-type -Wcast-qual -Wpointer-arith -Wwrite-strings -Wswitch -Wshadow -Werror -c /ex2/current/src/bin/chmod/chmod.c
if [ \! -d cp ]; then mkdir cp; fi; cd cp; printf ".PATH: /ex2/current/src/bin/cp\n.CURDIR:= /ex2/current/src/bin/cp\n.include \"\${.CURDIR}/Makefile\"\n" | make CRUNCHEDPROG=1 DBG="-Os -mmultiple -mstring" -f- depend cp.o utils.o
mkdep -a /ex2/current/src/bin/cp/cp.c /ex2/current/src/bin/cp/utils.c
cc -Os -mmultiple -mstring -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wreturn-type -Wcast-qual -Wpointer-arith -Wwrite-strings -Wswitch -Wshadow -Werror -c /ex2/current/src/bin/cp/cp.c
cc1: warnings being treated as errors
/ex2/current/src/bin/cp/cp.c:88: warning: initialization discards `const' from pointer target type
*** Error code 1
#!/bin/sh DATE=`date +"%Y%m%d"` EXPORT=/export/current RELEASE=${EXPORT}/${DATE}r DEST=${EXPORT}/${DATE}d LOG=${EXPORT}/${DATE}.log if [ ! -d $RELEASE ]; then mkdir $RELEASE fi if [ ! -d $DEST ]; then mkdir $DEST fi cd src echo ./build.sh -R $RELEASE -D $DEST > $LOG 2>&1 ./build.sh -R $RELEASE -D $DEST > $LOG 2>&1 ls -l $LOGというようなものを作って実行したら、出来た。G4/800 Dual で 2:45 (1.6B)
# mount -a # df Segmentation fault # df -k動かないのでしょうか... df と domainname が segfault
... /export/20020526/tools/obj/tools.NetBSD-1.5ZC-powerpc/bin/powerpc--netbsd-gcc -D_LIBC -DLIBC_SCCS -DSYSLIBC_SCCS -D_REENTRANT -I/export/20020526/lib/libc/include -DINET6 -DNLS -D__DBINTERFACE_PRIVATE -I/export/20020526/lib/libc/../../libexec/ld.elf_so -I/export/20020526/lib/libc/dlfcn -DI18NMODULE_MAJOR=4 -DWITH_RUNE -I/export/20020526/lib/libc -DRESOLVSORT -I. -DPOSIX_MISTAKE -DPORTMAP -DFLOATING_POINT -nostdinc -isystem /export/20020526d/usr/include -c -traditional-cpp -DALL_STATE -DUSG_COMPAT -I/export/20020526/lib/libc/arch/powerpc -nostdinc -idirafter /export/20020526d/usr/include /export/20020526/lib/libc/arch/powerpc/string/bzero.S上の -nostdinc を外すと、問題が消える。つまり system のどこかにあるのを見ると通る。 system のどこかにあるもの ... ( -nostdinc があっても、その後に -I/usr/include を付けると通る) .. /usr/include ?
/export/20020526/lib/libc/arch/powerpc/string/bzero.S: Assembler messages:
/export/20020526/lib/libc/arch/powerpc/string/bzero.S:52: Error: unsupported relocation type
4475 Jun 13 2001 sys/arch/powerpc/include/asm.h 3014 Mar 1 16:13 sys/arch/powerpc/include/asm.h-ts
CC=/export/20020526/tools/obj/tools.NetBSD-1.5ZC-powerpc/bin/powerpc--netbsd-gcc /export/20020526/tools/obj/tools.NetBSD-1.5ZC-powerpc/bin/powerpc--netbsd-lint -chapbxzF -X 272 -d /export/20020526d/usr/include -D_LIBC -DLIBC_SCCS -DSYSLIBC_SCCS -D_REENTRANT -I/export/20020526/lib/libc/include -DINET6 -DNLS -D__DBINTERFACE_PRIVATE -I/export/20020526/lib/libc/../../libexec/ld.elf_so -I/export/20020526/lib/libc/dlfcn -DI18NMODULE_MAJOR=4 -DWITH_RUNE -I/export/20020526/lib/libc -DRESOLVSORT -I. -DPOSIX_MISTAKE -DPORTMAP -DFLOATING_POINT -i /export/20020526/lib/libc/arch/powerpc/gen/syncicache.cttyp0:root@quick 13:34:27/020604(/export/20020526)# mv sys/lib/libkern/arch/powerpc/syncicache.c sys/lib/libkern/arch/powerpc/syncicache.c-keep
/export/20020526/lib/libc/arch/powerpc/gen/syncicache.c(96): redeclaration of __syncicache [27]
/export/20020526/lib/libc/arch/powerpc/gen/syncicache.c(108): warning: conversion of pointer to 'unsigned int' may lose bits [134]
/export/20020526/lib/libc/arch/powerpc/gen/syncicache.c(120): warning: conversion of pointer to 'unsigned int' may lose bits [134]
*** Error code 1
-rw-r--r-- 1 makoto wheel 4139 Mar 29 21:21 lib/libc/arch/powerpc/gen/syncicache.c -rw-r--r-- 1 makoto wheel 4138 Mar 29 21:52 sys/lib/libkern/arch/powerpc/syncicache.c-keep
/export/20020526/tools/obj/tools.NetBSD-1.5ZC-powerpc/bin/powerpc--netbsd-gcc -O2 -DALL_STATE -DUSG_COMPAT -Wall -Wstrict -prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wreturn-type -Wpointer-arith -Wswitch -Wshadow -Werr or -D_LIBC -DLIBC_SCCS -DSYSLIBC_SCCS -D_REENTRANT -I/export/20020526/lib/libc/include -DINET6 -DNLS -D__DBINTERFACE_PRIV ATE -I/export/20020526/lib/libc/../../libexec/ld.elf_so -I/export/20020526/lib/libc/dlfcn -DI18NMODULE_MAJOR=4 -DWITH_RUNE -I/export/20020526/lib/libc -DRESOLVSORT -I. -DPOSIX_MISTAKE -DPORTMAP -DFLOATING_POINT -nostdinc -isystem /export/200205 26d/usr/include -c /export/20020526/lib/libc/arch/powerpc/gen/syncicache.c
cc1: warnings being treated as errors
/export/20020526/lib/libc/arch/powerpc/gen/syncicache.c:96: warning: no previous prototype for `__syncicache'
*** Error code 1
cvs -d :pserver:anoncvs@anoncvs.netbsd.org:/cvsroot checkout -r netbsd-1-6 src ./build.sh -R /export/netbsd-1-6-r -D /export/netbsd-1-6-d >& ../netbsd-1-6-build.sh-2002052720020407-1.5ZC の iBook/366 で 6:10 くらいかかった。 cc は 2.95.3
dependall ===> groffこの時、 tools/groff/obj/build/config.log に、次のような字が残っている。
creating cache ./config.cache
....
configure: error: installation or configuration problem: C++ compiler cannot create executables.
/usr/lib/libstdc++.so: undefined reference to `exception type_info function'
/usr/lib/libstdc++.so: undefined reference to `__cp_push_exception'
/usr/lib/libstdc++.so: undefined reference to `__rtti_user'
MKSKEY=no MKYP=no MKHESIOD=no USE_HESIOD=no USE_YP=no USE_KERBEROS=no USE_SKEY=no(値は問題ではない)
time ./build.sh \ -D /export/20020328d \ -R /export/20020328r -d >& ../20020328-log
nbmake: "/export/20020328/distrib/macppc/floppies/ramdisk/Makefile" line 56: Could not find /utils/libhack/Makefile.incMakefile 55-56:
HACKSRC= ${DISTRIBDIR}/utils/libhack .include "${HACKSRC}/Makefile.inc"ramdisk/Makefileの辺り、3/25,28,30 と 変更になっている。
ttyp7:makoto@iBook366 7:31:12/020401(...20020328/distrib)> cvs update -A -dPgroup に ntpd が要るような気がする。
/export/20020328/tools/obj/tools.NetBSD-1.5ZA-powerpc/bin/powerpc--netbsd-gcc -D_LIBC -DLIBC_SCCS -DSYSLIBC_SCC S -D_REENTRANT -I/export/20020328/lib/libc/include -DHESIOD -DINET6 -DNLS -DYP -D__DBINTERFACE_PRIVATE -I/export/ 20020328/lib/libc/../../libexec/ld.elf_so -I/export/20020328/lib/libc/dlfcn -DI18NMODULE_MAJOR=4 -DWITH_RUNE -I/e xport/20020328/lib/libc -DRESOLVSORT -I. -DPOSIX_MISTAKE -DPORTMAP -DFLOATING_POINT -nostdinc -isystem /export/20 020328d/usr/include -c -traditional-cpp -DALL_STATE -DUSG_COMPAT -I/export/20020328/lib/libc/arch/powerpc -nostdinc -idirafter /export/20020328d/usr/include /export/20020328/lib/libc/arch/powerpc/string/bzero.S /export/20020328/lib/libc/arch/powerpc/string/bzero.S: Assembler messages: /export/20020328/lib/libc/arch/powerpc/string/bzero.S:52: Error: unsupported relocation type p
sh ../distrib/sets/makesums -t /usr/RELEASE/binary/kernel '*.gz'という字が見えているので、覚えておく
-rw-rw-r-- 1 makoto wheel 845180 May 17 16:17 bin.tar.gz -rw-rw-r-- 1 makoto wheel 46470 Feb 21 14:46 config.tar.gz -rw-rw-r-- 1 makoto wheel 7073998 May 17 16:20 crypto.tar.gz -rw-rw-r-- 1 makoto wheel 3622109 May 17 16:21 dist.tar.gz -rw-rw-r-- 1 makoto wheel 921151 May 17 16:22 distrib.tar.gz -rw-rw-r-- 1 makoto wheel 209283 May 17 16:22 etc.tar.gz -rw-rw-r-- 1 makoto wheel 2613840 May 7 15:52 games.tar.gz -rw-rw-r-- 1 makoto wheel 55602107 May 17 16:43 gnu.tar.gz -rw-rw-r-- 1 makoto wheel 115438 May 7 16:16 include.tar.gz -rw-rw-r-- 1 makoto wheel 2815783 May 17 16:45 lib.tar.gz -rw-rw-r-- 1 makoto wheel 496557 May 17 16:46 libexec.tar.gz -rw-rw-r-- 1 makoto wheel 167988 May 17 16:47 regress.tar.gz -rw-rw-r-- 1 makoto wheel 804617 May 17 16:48 sbin.tar.gz -rw-rw-r-- 1 makoto wheel 3443280 May 17 16:50 share.tar.gz -rw-rw-r-- 1 makoto wheel 20347318 May 17 16:59 sys.tar.gz -rw-rw-r-- 1 makoto wheel 5516 May 8 14:36 top-level.tar.gz -rw-rw-r-- 1 makoto wheel 3288632 May 17 17:02 usr.bin.tar.gz -rw-rw-r-- 1 makoto wheel 3224752 May 17 17:04 usr.sbin.tar.gzというものを /usr/src に開けて、
setenv DESTDIR /D time make build したら出来たので 、 setenv BUILD_DONE 1 setenv RELEASEDIR /usr/RELEASE make release したら、 /usr/src/distrib/macppc/floppies/ramdisk/../../../utils/libhack/gethost.c: In function `_gethostbyaddr': /usr/src/distrib/macppc/floppies/ramdisk/../../../utils/libhack/gethost.c:160: argument `len' doesn't match prototype /usr/include/netdb.h:262: prototype declaration で止ってしまった。 24 20:27 mv /usr/include/netdb.h /usr/include/netdb.h-1.5S 25 20:27 cp -p /D/usr/include/netdb.h /usr/include/
cleandir ===> bin cleandir ===> bin/cat "/export/DESTDIR/usr/share/mk/bsd.prog.mk", line 125: Malformed conditional (!commands(${PROG})) "/export/DESTDIR/usr/share/mk/bsd.prog.mk", line 142: if-less endif "/export/DESTDIR/usr/share/mk/bsd.prog.mk", line 142: Need an operator Fatal errors encountered -- cannot continue *** Error code 1これについては 神戸さんが答 を書いていらっしゃる (が、 -I. が更に必要)。
cd /usr/src/usr.bin/make cc -I. -o make -Ilst.lib *.c lst.lib/*.c mv /usr/bin/make /usr/bin/make-1.5K cp -p make /usr/bin/make
install: /export/DESTDIR/usr/include: No such file or directory *** Error code 1 Stop. root@nazuha 8:37:48/010311(/usr/src)# mkdir /export/DESTDIR/usr/include root@harry 12:02:42/010318(/usr/src)# mkdir -p /usr/DESTDIR/usr/include/cdk mkdir -p /usr/DESTDIR/usr/include/readlineというようなことが必要になることもある。
root@harry 23:02:26/010319(/usr/src)# cp -p /usr/DESTDIR/usr/lib/libcdk.a /usr/lib root@harry 23:03:00/010319(/usr/src)# ranlib /usr/lib/libcdk.alibform も同様
make build すると rm: gdb: is a directory で止ってしまう /usr/src/usr.bin/gdb/gdb が問題 対処法が分らないので、--> cvs update -dP mv /usr/src/usr.bin/gdb/gdb /usr/src/usr.bin/gdb/gdb-removed して見る。次は cleandir ===> gnu/usr.bin/grep rm -rf grep.info rm -f a.out [Ee]rrs .... grep .... rm: grep: is a directory で止ってしまう diff -ur /usr/share/mk /usr/DESTDIR/usr/share/mk をして見る root@nazuha 8:50:59/010103(/export)# mv /usr/share/mk /usr/share/mk-1.5_ALPHA root@nazuha 8:51:16/010103(/export)# cp -pr /usr/DESTDIR/usr/share/mk /usr/share/mk としても同じだった。 grep cleandir Makefile すると次のような字が見えるので # NOCLEANDIR will avoid a `make cleandir' at the start of `make build', setenv NOCLEANDIR して見る /export/src/lib/libc/md/md5c.c:42: md5.h: No such file or directory root@nazuha 9:54:19/010103(...usr/include)# ln -s sys/md5.h . root@nazuha 9:54:29/010103(...usr/include)# pwd /usr/DESTDIR/usr/include cc -O -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Werror -DLIBC_SCCS -nostdinc -idirafter /usr/DESTDIR/usr/include -c -fPIC -DPIC kvm_powerpc.c -o kvm_powerpc.so lint -chapbxzF -d /usr/DESTDIR/usr/include -DLIBC_SCCS -i kvm_proc.c /usr/DESTDIR/usr/include/powerpc/ansi.h(93): warning: ANSI C does not support 'long long' /usr/DESTDIR/usr/include/powerpc/aout_machdep.h(47): warning: nonportable bit-field type kvm_proc.c(520): warning: conversion of pointer to 'unsigned int' may lose bits .... kvm_proc.c(579): warning: conversion of pointer to 'unsigned int' may lose bits kvm_proc.c(584): illegal member use: p_siglist
(tar 形式では 56M) # du -s /home6/NetBSD/NetBSD-current/tar_files/src/ 56162 /home6/NetBSD/NetBSD-current/tar_files/src/ makoto@harry 21:26:11/000320(/usr)> foreach i ( /home6/NetBSD/NetBSD-current/tar_files/src/*tar* ) foreach? echo $i foreach? tar zxf $i foreach? end 広げるだけで 32 分くらいかかる。そうして、次の大きさ Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/sd0c 993393 256104 687619 27% /usr/src kernel を組立てる 1.4R との違い 僕の場合、StarMax wdc1 問題というのがあって、一か所変更しておく。 port-powerpc-ja の 993 番のメール。
Last Update 10:52:57 03/12/08 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) Apache/2.4.46 (Unix) PHP/7.4.15 (since 2000/03/20)