On Sun, Feb 10, 2008 at 10:42:47PM +0000, John Birrell wrote:
> This one fixes problems with the previous one:
> - buildkernel would fail because NO_CTF=1 was not set when
> building the lone kernel build tool.
> - A number of things were missing from the dtrace kernel
> module on i386.
> - Missing syscall names in the kernel without witness have
> been resolved so this snapshot should build with and without
> witness, invariants, smp etc.
> Known problems:
> - This is a snapshot of current which contains lock order
> reversal warnings. These are not related to the DTrace-specific
> code.
> - ustack() as reported by Drew hasn't been ported yet, so don't
> expect it to do anything.
> - On i386 mp_maxid in the kernel doesn't behave the same way that
> it does on amd64. Work-around code exists for this, but it is
> less than optimal.
> - A few of the tests that pass on amd64 don't work on i386. The
> causes are under investigation. The worst one is the tailcall
> test which causes the machine to reboot. Ugh.
> Note:
> - This snapshot should build cleanly on either a CURRENT or a
> RELENG_7 system. If not, please tell me. RELENG_6 users should
> upgrade to RELENG_7 first or contact me. The tool bootstrap
> will fail to build when hosted on RELENG_6.
> - It should be ABI compatible with CURRENT and RELENG_7. If
> not, please tell me.
> - This snapshot extends the basic OpenSolaris DTrace functionality
> to support:
> printm(const size_t bufrsize, uintptr_t *memref);
> where:
> 'memref' is an an array of 2 uintptr_t entries -- address and
> size.
> [snip]
> Target audience:
> I'd like to get more people involved with running this code.
> If you just like to follow FreeBSD current and don't even try
> to contribute stuff back... this snapshot is something you
> could try. I need some feeback from people who just use
> --
> John Birrell


The procedure I went through:
# cd /usr
# rm -R src
# tar -xvf /path/to/dtrace-20080211.tar.bz
# cd src
# time make buildworld

Buildworld failed in:
>>> stage 5.1: building 32 bit shim libraries

mkdir -p /usr/obj/usr/src/lib32/usr/include
mkdir -p /usr/obj/usr/src/lib32/usr/lib32
mkdir -p /usr/obj/usr/src/lib32/usr/share/misc
mtree -deU -f /usr/src/etc/mtree/BSD.include.dist -p /usr/obj/usr/src/lib32/usr/include >/dev/null
mkdir -p /usr/obj/usr/src/tmp
ln -sf /usr/src/sys /usr/obj/usr/src/tmp
cd /usr/src/kerberos5/tools; MAKEOBJDIRPREFIX=/usr/obj/lib32 make DESTDIR= obj
===> make-print-version (obj)
/usr/obj/lib32/usr/src/kerberos5/tools/make-print-version created for /usr/src/kerberos5/tools/make-print-version
===> make-roken (obj)
/usr/obj/lib32/usr/src/kerberos5/tools/make-roken created for /usr/src/kerberos5/tools/make-roken
===> asn1_compile (obj)
/usr/obj/lib32/usr/src/kerberos5/tools/asn1_compile created for /usr/src/kerberos5/tools/asn1_compile
cd /usr/src/kerberos5/tools; MAKEOBJDIRPREFIX=/usr/obj/lib32 make DESTDIR= depend
===> make-print-version (depend)
rm -f .depend
mkdep -f .depend -a -DHAVE_CONFIG_H -I/usr/src/kerberos5/tools/make-print-version/../../include /usr/src/kerberos5/tools/make-print-version/../../../crypto/heimdal/lib/vers/make-print-version.c
echo make-print-version: /usr/lib/libc.a >> .depend
===> make-roken (depend)
awk -f /usr/src/kerberos5/tools/make-roken/../../../crypto/heimdal/lib/roken/roken.awk /usr/src/kerberos5/tools/make-roken/../../../crypto/heimdal/lib/roken/roken.h.in > make-roken.c
rm -f .depend
mkdep -f .depend -a -DHAVE_CONFIG_H -I/usr/src/kerberos5/tools/make-roken/../../include make-roken.c
echo make-roken: /usr/lib/libc.a >> .depend
===> asn1_compile (depend)
sed -e '106s/"/"#ifdef __PARSE_UNITS_H__\\n/;' -e '106s/",/\\n#endif\\n",/' /usr/src/kerberos5/tools/asn1_compile/../../../crypto/heimdal/lib/asn1/gen_glue.c > gen_glue-fixed.c
lex -t /usr/src/kerberos5/tools/asn1_compile/../../../crypto/heimdal/lib/asn1/lex.l > lex.c
yacc -d -o parse.c /usr/src/kerberos5/tools/asn1_compile/../../../crypto/heimdal/lib/asn1/parse.y
cd /usr/src/kerberos5/tools/asn1_compile/../make-print-version && make
cc -O2 -fno-strict-aliasing -pipe -march=nocona -DHAVE_CONFIG_H -I/usr/src/kerberos5/tools/make-print-version/../../include -g -c /usr/src/kerberos5/tools/make-print-version/../../../crypto/heimdal/lib/vers/make-print-version.c
ctfconvert -L VERSION make-print-version.o
ctfconvert:No such file or directory
*** Error code 1

Stop in /usr/src/kerberos5/tools/make-print-version.
*** Error code 1

Stop in /usr/src/kerberos5/tools/asn1_compile.
*** Error code 1

Stop in /usr/src/kerberos5/tools.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
4693.728u 1668.096s 1:44:52.91 101.0% 5904+7451k 36308+18539io 13261pf+0w

The system is:
FreeBSD wep4017.physik.uni-wuerzburg.de 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Thu Jan 31 13:04:43 CET 2008 lexx@wep4017.physik.uni-wuerzburg.de:/usr/obj/usr/src/sys/GENERIC amd64

/etc/make.conf contains:
CPUTYPE ?= nocona

Should I disable building 32-bit compatibility libraries?
If so, how can I do that? I saw some make switch some time ago, but
now I see nothing similar in src/Makefile or src/Makefile.inc1.

The second question, is parallel build with make -jN option supposed to work?

freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"