Date: Sun, 23 Jul 2000 21:01:35 -0400 From: Jay Sachs <jsachs@iclick.com> To: Justin Cain <asmo@scully.gothworld.com> Cc: freebsd-stable@FreeBSD.ORG, asmo@bck.org, jcain@kivex.com Subject: Re: Make Buildkernel Error: answers and questions Message-ID: <397B956F.40E9DD4C@iclick.com> References: <Pine.BSF.4.21.0007220101200.17702-100000@scully.gothworld.com>
next in thread | previous in thread | raw e-mail | index | archive | help
The answer to your problem, which I finally figured out for myself, is
that
make buildkernel
only works if you've recently (sometimes immediately) done a
make buildworld
AND
**you still have the /usr/obj tree around**.
(I don't remember seeing this explicitly stated in the recent threads,
but I definitely could have missed it). If you did a make clean, or
rm-ed /usr/obj, 'make buildkernel' will NOT work.
The clue is early on in the output of buildkernel. You'll see lines
sh /usr/src/sys/kern/genassym.sh genassym.o > assym.s
nm: could not exec elf/nm in /usr/obj/usr/src/i386/usr/libexec: No
such file or
directory
Turns out Makefile.inc1 sets OBJFORMAT_PATH, which causes the exec that
script to fail.
My conclusion is that even if I've done a buildworld recently, and blew
away /usr/obj for space reasons, then I should go about building new
kernels via
cd /usr/src/sys/i386/conf
config -r MYKERNEL
make depend && make && make install
Furthermore, as long as I haven't supped since I built world, the
old-fashioned way of building a kernel is not only safe, but necessary,
if /usr/obj is cleaned.
jay
Justin Cain wrote:
>
> I recieved a suggestion to remove the "wi" entry from the
> /usr/src/sys/modules/Makefile which I did for a test. Instead of stopping
> at wi it stops at vinum which is the previous module to compile before wi
> ...so it appears that the modules makefile is possibly broke. This is the
> output of the break in the make buildkernel:
>
> ===> vinum
> @ -> /usr/src/sys
> machine -> /usr/src/sys/i386/include
> touch opt_vinum.h
> perl @/kern/vnode_if.pl -h @/kern/vnode_if.src
> rm -f .depend
> mkdep -f .depend -a -nostdinc -DVINUMDEBUG -D_KERNEL -DKLD_MODULE -I-
> -I. -I@ -I@/../include /usr/src/sys/modules/vinum/../../dev/vinum/vinum.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumconfig.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumdaemon.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinuminterrupt.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumio.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumioctl.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumlock.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinummemory.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumparser.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumraid5.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumrequest.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumrevive.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumstate.c
> /usr/src/sys/modules/vinum/../../dev/vinum/vinumutil.c
> cc -c -x assembler-with-cpp -DLOCORE -O -pipe -Wall -Wredundant-decls
> -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
> -Winline -Wcast-qual -fformat-extensions -ansi -nostdinc -I-
> -I. -I/usr/src/sys -I/usr/src/sys/../include -D_KERNEL -include
> opt_global.h -elf -mpreferred-stack-boundary=2
> /usr/src/sys/i386/i386/locore.s
> {standard input}: Assembler messages:
> {standard input}:1745: Error: .space specifies non-absolute value
> {standard input}:2505: Error: undefined symbol L0 in operation setting
> PTmap
> {standard input}:2505: Error: undefined symbol PDRSHIFT in operation
> setting PTmap
[snip]
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?397B956F.40E9DD4C>
