Bug 23419

Summary: 'make buildkernel' doesn't work in isolation from 'make buildworld'
Product: Base System Reporter: Josef Karthauser <joe>
Component: confAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.0-CURRENT   
Hardware: Any   
OS: Any   

Description Josef Karthauser 2000-12-10 16:00:01 UTC

Fix: 

unknown
How-To-Repeat: 	
	genius# cd /usr/obj && chflag -R noschg * && rm -r *
	genius# cd /usr/src
	genius# make buildkernel KERNEL=GENERIC
	[cut]
cd /usr/obj/usr/src/sys/GENERIC;  MAKEOBJDIRPREFIX=/usr/obj  COMPILER_PATH=/usr/obj/usr/src/i386/usr/libexec:/usr/obj/usr/src/i386/usr/bin  LIBRARY_PATH=/usr/obj/usr/src/i386/usr/lib:/usr/obj/usr/src/i386/usr/lib  OBJFORMAT_PATH=/usr/obj/usr/src/i386/usr/libexec  PERL5LIB=/usr/obj/usr/src/i386/usr/libdata/perl/5.6.0  DESTDIR=/usr/obj/usr/src/i386  INSTALL="sh /usr/src/tools/install.sh"  PATH=/usr/obj/usr/src/i386/usr/sbin:/usr/obj/usr/src/i386/usr/bin:/usr/obj/usr/src/i386/usr/games:/sbin:/bin:/usr/sbin:/usr/bin MACHINE=i386 make KERNEL=kernel all
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/dev -I/usr/src/sys/../include -I/usr/src/sys/contrib/dev/acpica/Subsystem/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}:1765: Error: .space specifies non-absolute value
{standard input}:2451: Error: undefined symbol L0 in operation setting PTmap
{standard input}:2451: Error: undefined symbol PDRSHIFT in operation setting PTmap
{standard input}:1733: Error: undefined symbol L0 in operation
{standard input}:1733: Error: undefined symbol PAGE_SIZE in operation
{standard input}:1734: Error: undefined symbol L0 in operation
{standard input}:1734: Error: undefined symbol PDESIZE in operation
{standard input}:2451: Error: undefined symbol L0 in operation setting APTmap
{standard input}:2451: Error: undefined symbol PDRSHIFT in operation setting APTmap
{standard input}:1742: Error: undefined symbol L0 in operation
{standard input}:1742: Error: undefined symbol PAGE_SIZE in operation
{standard input}:1743: Error: undefined symbol L0 in operation
{standard input}:1743: Error: undefined symbol PDESIZE in operation
{standard input}:1949: Error: undefined symbol UPAGES in operation
{standard input}:1949: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2312: Error: undefined symbol BI_ESYMTAB in operation
{standard input}:2317: Error: undefined symbol BI_SYMTAB in operation
{standard input}:2318: Error: undefined symbol BI_ESYMTAB in operation
{standard input}:2322: Error: undefined symbol BI_KERNEND in operation
{standard input}:2334: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2334: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2338: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2338: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2342: Error: undefined symbol UPAGES in operation
{standard input}:2342: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2342: Error: undefined symbol UPAGES in operation
{standard input}:2342: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2347: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2347: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2350: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2350: Error: undefined symbol PAGE_SIZE in operation
{standard input}:2407: Error: undefined symbol PAGE_SHIFT in operation
{standard input}:2423: Error: undefined symbol PAGE_SHIFT in operation
{standard input}:2424: Error: undefined symbol PAGE_SHIFT in operation
{standard input}:1875: Error: Subtraction of two symbols in different sections ".tmpstk" {.data section} - "KERNBASE" {*UND* section} at file address 28.
{standard input}:1898: Error: Subtraction of two symbols in different sections "end" {*UND* section} - "KERNBASE" {*UND* section} at file address 38.
{standard input}:1899: Error: Subtraction of two symbols in different sections "edata" {*UND* section} - "KERNBASE" {*UND* section} at file address 43.
{standard input}:1911: Error: Subtraction of two symbols in different sections "cpu_feature" {.data section} - "KERNBASE" {*UND* section} at file address 61.
{standard input}:1927: Error: Subtraction of two symbols in different sections "IdlePTD" {.data section} - "KERNBASE" {*UND* section} at file address 81.
{standard input}:2096: Error: Subtraction of two symbols in different sections "kernelname" {*UND* section} - "KERNBASE" {*UND* section} at file address 307.
{standard input}:2124: Error: Subtraction of two symbols in different sections "bootinfo" {.data section} - "KERNBASE" {*UND* section} at file address 347.
{standard input}:2141: Error: Subtraction of two symbols in different sections "nfs_diskless" {*UND* section} - "KERNBASE" {*UND* section} at file address 379.
{standard input}:2146: Error: Subtraction of two symbols in different sections "nfs_diskless_valid" {*UND* section} - "KERNBASE" {*UND* section} at file address 392.
{standard input}:2159: Error: Subtraction of two symbols in different sections "boothowto" {*UND* section} - "KERNBASE" {*UND* section} at file address 406.
{standard input}:2161: Error: Subtraction of two symbols in different sections "bootdev" {*UND* section} - "KERNBASE" {*UND* section} at file address 414.
{standard input}:2199: Error: Subtraction of two symbols in different sections "cpu" {.data section} - "KERNBASE" {*UND* section} at file address 466.
{standard input}:2204: Error: Subtraction of two symbols in different sections "cpu" {.data section} - "KERNBASE" {*UND* section} at file address 482.
{standard input}:2205: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 492.
{standard input}:2206: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 502.
{standard input}:2207: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 512.
{standard input}:2208: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 522.
{standard input}:2227: Error: Subtraction of two symbols in different sections "cpu" {.data section} - "KERNBASE" {*UND* section} at file address 563.
{standard input}:2254: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 598.
{standard input}:2255: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 608.
{standard input}:2256: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 618.
{standard input}:2262: Error: Subtraction of two symbols in different sections "cpu_high" {.data section} - "KERNBASE" {*UND* section} at file address 633.
{standard input}:2263: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 639.
{standard input}:2264: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 645.
{standard input}:2265: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 651.
{standard input}:2266: Error: Subtraction of two symbols in different sections "cpu_vendor" {.data section} - "KERNBASE" {*UND* section} at file address 657.
{standard input}:2270: Error: Subtraction of two symbols in different sections "cpu_id" {.data section} - "KERNBASE" {*UND* section} at file address 670.
{standard input}:2271: Error: Subtraction of two symbols in different sections "cpu_feature" {.data section} - "KERNBASE" {*UND* section} at file address 676.
{standard input}:2278: Error: Subtraction of two symbols in different sections "cpu" {.data section} - "KERNBASE" {*UND* section} at file address 693.
{standard input}:2284: Error: Subtraction of two symbols in different sections "cpu" {.data section} - "KERNBASE" {*UND* section} at file address 710.
{standard input}:2288: Error: Subtraction of two symbols in different sections "cpu" {.data section} - "KERNBASE" {*UND* section} at file address 722.
{standard input}:2301: Error: Subtraction of two symbols in different sections "cpu_feature" {.data section} - "KERNBASE" {*UND* section} at file address 733.
{standard input}:2309: Error: Subtraction of two symbols in different sections "end" {*UND* section} - "KERNBASE" {*UND* section} at file address 755.
{standard input}:2312: Error: Negative of non-absolute symbol KERNBASE
{standard input}:2317: Error: Negative of non-absolute symbol KERNBASE
{standard input}:2318: Error: Negative of non-absolute symbol KERNBASE
{standard input}:2322: Error: Negative of non-absolute symbol KERNBASE
{standard input}:2330: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 814.
{standard input}:2331: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 820.
{standard input}:2334: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 826.
{standard input}:2334: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 838.
{standard input}:2335: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 856.
{standard input}:2338: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 862.
{standard input}:2338: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 874.
{standard input}:2339: Error: Subtraction of two symbols in different sections "IdlePTD" {.data section} - "KERNBASE" {*UND* section} at file address 892.
{standard input}:2342: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 898.
{standard input}:2342: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 910.
{standard input}:2343: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 928.
{standard input}:2345: Error: Subtraction of two symbols in different sections "proc0paddr" {.data section} - "KERNBASE" {*UND* section} at file address 940.
{standard input}:2347: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 946.
{standard input}:2347: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 958.
{standard input}:2348: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 976.
{standard input}:2350: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 982.
{standard input}:2350: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 994.
{standard input}:2351: Error: Subtraction of two symbols in different sections "vm86pa" {.data section} - "KERNBASE" {*UND* section} at file address 1012.
{standard input}:2353: Error: Subtraction of two symbols in different sections "vm86paddr" {.data section} - "KERNBASE" {*UND* section} at file address 1024.
{standard input}:2368: Error: Subtraction of two symbols in different sections "cpu_feature" {.data section} - "KERNBASE" {*UND* section} at file address 1034.
{standard input}:2373: Error: Subtraction of two symbols in different sections "etext" {*UND* section} - "KERNBASE" {*UND* section} at file address 1051.
{standard input}:2376: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1074.
{standard input}:2379: Error: Subtraction of two symbols in different sections "etext" {*UND* section} - "KERNBASE" {*UND* section} at file address 1096.
{standard input}:2385: Error: Subtraction of two symbols in different sections "cpu_feature" {.data section} - "KERNBASE" {*UND* section} at file address 1117.
{standard input}:2390: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1135.
{standard input}:2393: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1154.
{standard input}:2396: Error: Subtraction of two symbols in different sections "IdlePTD" {.data section} - "KERNBASE" {*UND* section} at file address 1176.
{standard input}:2398: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1195.
{standard input}:2401: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1218.
{standard input}:2403: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1237.
{standard input}:2408: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1279.
{standard input}:2411: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1302.
{standard input}:2413: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1321.
{standard input}:2419: Error: Subtraction of two symbols in different sections "vm86pa" {.data section} - "KERNBASE" {*UND* section} at file address 1363.
{standard input}:2425: Error: Subtraction of two symbols in different sections "vm86pa" {.data section} - "KERNBASE" {*UND* section} at file address 1405.
{standard input}:2431: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1428.
{standard input}:2434: Error: Subtraction of two symbols in different sections "IdlePTD" {.data section} - "KERNBASE" {*UND* section} at file address 1444.
{standard input}:2437: Error: Subtraction of two symbols in different sections ".data" {.data section} - "KERNBASE" {*UND* section} at file address 1467.
{standard input}:2440: Error: Subtraction of two symbols in different sections "IdlePTD" {.data section} - "KERNBASE" {*UND* section} at file address 1486.
{standard input}:2443: Error: Subtraction of two symbols in different sections "IdlePTD" {.data section} - "KERNBASE" {*UND* section} at file address 1509.
{standard input}:2446: Error: Subtraction of two symbols in different sections "IdlePTD" {.data section} - "KERNBASE" {*UND* section} at file address 1528.
*** Error code 1

Stop in /usr/obj/usr/src/sys/GENERIC.
*** Error code 1

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

Stop in /usr/src.
Comment 1 ru freebsd_committer freebsd_triage 2000-12-11 08:57:41 UTC
Because it is not supposed to.  The whole purpose of buildkernel was
that it should use the same (up-to-date) set of tools that is used
for the rest of the world.  The correct and established sequence is
``buildworld'' followed by ``buildkernel''.

On Sun, Dec 10, 2000 at 03:56:45PM +0000, joe@tao.org.uk wrote:
> 
> 'make buildkernel' doesn't work in isolation from 'make buildworld'
[...]

-- 
Ruslan Ermilov		Oracle Developer/DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age
Comment 2 Josef Karthauser 2000-12-11 20:33:49 UTC
On Mon, Dec 11, 2000 at 10:57:41AM +0200, Ruslan Ermilov wrote:
> Because it is not supposed to.  The whole purpose of buildkernel was
> that it should use the same (up-to-date) set of tools that is used
> for the rest of the world.  The correct and established sequence is
> ``buildworld'' followed by ``buildkernel''.

Shouldn't it then build the tools that it needs if they've not already
been built?  Who's to say that last world built was of the same
generation as the kernel that's being built?

Here's the problem.  I want to build kernels for picobsd in a different
object directory, so as to not conflict with any other kernel builds.

Joe
-- 
Josef Karthauser	[joe@FreeBSD.org, joe@tao.org.uk]
......... FreeBSD: The power to change the world ........
Comment 3 dd freebsd_committer freebsd_triage 2001-06-19 01:33:39 UTC
State Changed
From-To: open->closed

It does work, but it may not always work properly; such is the purpose of 
buildkernel: to use what buildworld makes :-).
Comment 4 dima 2001-06-20 01:42:07 UTC
Josef Karthauser <joe@tao.org.uk> writes:
> On Mon, Jun 18, 2001 at 05:34:00PM -0700, dd@FreeBSD.org wrote:
> > Synopsis: 'make buildkernel' doesn't work in isolation from 'make buildworld'
> >
> > State-Changed-From-To: open->closed
> > State-Changed-By: dd
> > State-Changed-When: Mon Jun 18 17:33:39 PDT 2001
> > State-Changed-Why:=20
> > It does work, but it may not always work properly; such is the purpose of
> > buildkernel: to use what buildworld makes :-).
> >
> > http://www.FreeBSD.org/cgi/query-pr.cgi?pr=3D23419
> 
> I'd like to keep this open.  It's of application to PicoBSD to be able
> to build a kernel without an associated buildworld.  Maybe buildkernel
> should also rebuild the tools that it needs if they've not already been
> built in a buildworld.

The old method:

	cd src/sys/<arch>/conf && config GENERIC
		&& cd ../../compile/GENERIC && make depend && make

still works, and is expected to work in the future.  buildkernel is
only necessary when you're upgrading a system, particuarly across
binutils upgrades.

If you really feel this is still an issue, feel free to reopen the PR;
it'd also be nice if you sent a follow-up so that your intention is
clearly noted in the audit-trail.

Thanks,

					Dima Dorfman
					dima@unixfreak.org