On Thu 2000-09-21 (10:00), Donn Miller wrote:
> On Thu, 21 Sep 2000, Neil Blakey-Milner wrote:
>
> > On Thu 2000-09-21 (08:48), Donn Miller wrote:
> > > An example of what I get when I try to do a make buildkernel. I have set
> > > KERNEL=CUSTOM in /etc/make.conf, so I should be alright there.
> > >
> >
> > > {standard input}:2342: Error: Subtraction of two symbols in different sections
>".data" {.data section} - "KERNBASE" {*UND* section} at file address 928.
> >
> > Do you have a populated /usr/obj? (ie, with nm)
>
> I've been doing "make buildkernel installkernel" in /usr/src without doing
> a "make buildworld" first. Is this OK? I guess the buildkernel created a
> /usr/obj, but I deleted it and tried buildkernel again with the same
> results.
No, it's not ok.
I have patches awaiting some final decision from Marcel that'll make it
possible. It mostly works, but OBJFORMAT_PATH doesn't have access to
the same PATH we're exporting during the kernel build, meaning 'nm'
won't work. They look something like:
cvs diff: cannot find Makefile
Index: Makefile.inc1
===================================================================
RCS file: /home/ncvs/src/Makefile.inc1,v
retrieving revision 1.167
diff -u -r1.167 Makefile.inc1
--- Makefile.inc1 2000/09/03 02:58:39 1.167
+++ Makefile.inc1 2000/09/06 21:10:53
@@ -193,6 +193,14 @@
PATH=${TMPPATH}
WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1
+# kernel stage
+.if ${BUILD_ARCH} == ${MACHINE_ARCH}
+KMAKEENV= ${WMAKEENV} \
+ OBJFORMAT_PATH=${WORLDTMP}/usr/libexec:/usr/libexec
+.else
+KMAKEENV= ${WMAKEENV}
+.endif
+
# install stage
IMAKEENV= ${CROSSENV} \
PATH=${STRICTTMPPATH}:${INSTALLTMP}
@@ -383,6 +391,9 @@
.if empty(INSTALLKERNEL)
INSTALLKERNEL= ${_kernel}
.endif
+.else
+.BEGIN:
+ @echo ">>> Kernel configuration ${_kernel} does not exist; not building"
.endif
.endfor
@@ -409,10 +420,10 @@
${MAKE} -f ${KRNLSRCDIR}/dev/aic7xxx/Makefile
.if !defined(NO_KERNELDEPEND)
cd ${KRNLOBJDIR}/${_kernel}; \
- ${WMAKEENV} MACHINE=${MACHINE} ${MAKE} KERNEL=${INSTKERNNAME} depend
+ ${KMAKEENV} MACHINE=${MACHINE} ${MAKE} KERNEL=${INSTKERNNAME} depend
.endif
cd ${KRNLOBJDIR}/${_kernel}; \
- ${WMAKEENV} MACHINE=${MACHINE} ${MAKE} KERNEL=${INSTKERNNAME} all
+ ${KMAKEENV} MACHINE=${MACHINE} ${MAKE} KERNEL=${INSTKERNNAME} all
.endfor
#
Neil
--
Neil Blakey-Milner
Sunesi Clinical Systems
[EMAIL PROTECTED]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message