New DTrace source snapshot

Niki Denev nike_d at cytexbg.com
Fri Feb 15 19:48:26 UTC 2008


On Tue, Feb 12, 2008 at 12:11 PM, Alexey Shuvaev
<shuvaev at physik.uni-wuerzburg.de> wrote:
>
> 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.
> >
> > <http://people.freebsd.org/~jb/dtrace/dtrace-20080211.tar.bz>
> >
> > 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
> >   FreeBSD-CURRENT.
> >
> > --
> > John Birrell
> >
>
> Hello!
>
> 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 at 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?
>
> Thanks,
> Alexey.

Just put :
WITHOUT_LIB32=yes
in /etc/src.conf

It did the trick for me.(i even built it with -j8)

--Niki


More information about the freebsd-current mailing list