Hi there,

i think i found a bug in the build process, im not able to build miniroot
with multiple processes through - for example - 'make -j4'

$ pwd
/usr/src/distrib/amd64/ramdisk_cd
$ sudo make -j 4
awk -f /usr/src/distrib/amd64/ramdisk_cd/../../miniroot/makeconf.awk 
CBIN=instbin /usr/src/distrib/amd64/ramdisk_cd/../common/list 
/usr/src/distrib/amd64/ramdisk_cd/list.local > instbin.conf
mtree -def /usr/src/distrib/amd64/ramdisk_cd/../../miniroot/mtree.conf -p /mnt/ 
-u
cd /usr/src/distrib/amd64/ramdisk_cd/../../../sys/arch/amd64/conf && config 
RAMDISK_CD
Filesystem  512-blocks      Used     Avail Capacity iused   ifree  %iused  
Mounted on
/dev/sd0a      2057756    448656   1506216    23%    6151  149751     4%   /
umount /mnt
umount: /mnt: not currently mounted
*** Error 1 in target 'rd_teardown' (ignored)
vnconfig -u vnd0
vnconfig: VNDIOCCLR: Device not configured
*** Error 1 in target 'rd_teardown' (ignored)
cp /var/tmp/image.31801 mr.fs
cp: /var/tmp/image.31801: No such file or directory
*** Error 1 in target 'rd_teardown'
TOPDIR=/usr/src/distrib/amd64/ramdisk_cd/.. 
CURDIR=/usr/src/distrib/amd64/ramdisk_cd 
OBJDIR=/usr/src/distrib/amd64/ramdisk_cd  REV=56 TARGDIR=/mnt 
UTILS=/usr/src/distrib/amd64/ramdisk_cd/../../miniroot  RELEASEDIR= sh 
/usr/src/distrib/amd64/ramdisk_cd/../../miniroot/runlist.sh 
/usr/src/distrib/amd64/ramdisk_cd/../common/list 
/usr/src/distrib/amd64/ramdisk_cd/list.local
COPY                                        ${OBJDIR}/instbin                   
                                                      instbin
cp: /usr/src/distrib/amd64/ramdisk_cd/instbin: No such file or directory
*** Error 1 in target 'do_files'
cd /usr/src/distrib/amd64/ramdisk_cd/../../../sys/arch/amd64/compile/RAMDISK_CD 
&&  make clean && COPTS=-Os exec make
rm -f eddep *bsd *bsd.gdb tags *.[dio] [a-z]*.s  [Ee]rrs linterrs assym.h
cc  -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes  -Wno-main 
-Wno-uninitialized  -Wstack-larger-than-2047 -mcmodel=kernel -mno-red-zone 
-mno-sse2 -mno-sse -mno-3dnow  -mno-mmx -msoft-float -fno-omit-frame-pointer 
-fno-builtin-printf -fno-builtin-snprintf  -fno-builtin-vsnprintf 
-fno-builtin-log  -fno-builtin-log2 -fno-builtin-malloc -fno-pie 
-fno-stack-protector -Wa,-n -Os -pipe -nostdinc -I../../../.. -I. 
-I../../../../arch -DSCSITERSE -DSMALL_KERNEL -DNO_PROPOLICE -DTIMEZONE="0" 
-DDST="0" -DFFS -DFFS2 -DEXT2FS -DNFSCLIENT -DCD9660 -DUDF -DMSDOSFS -DINET 
-DINET6 -DBOOT_CONFIG -DCRYPTO -DRAMDISK_HOOKS -DMINIROOTSIZE="0x1180" 
-DPCIVERBOSE -DMAXUSERS=4 -D_KERNEL -MD -MP  -c swapbsd.c


I think this is a bug in the dependency tree of
src/distrib/amd64/ramdisk_cd/Makefile.inc

This Patch would fix it:

Index: distrib/amd64/common/Makefile.inc
===================================================================
RCS file: /home/cvs/src/distrib/amd64/common/Makefile.inc,v
retrieving revision 1.26
diff -u -p -r1.26 Makefile.inc
--- distrib/amd64/common/Makefile.inc   29 Mar 2014 17:31:40 -0000      1.26
+++ distrib/amd64/common/Makefile.inc   13 Mar 2015 14:28:53 -0000
@@ -71,7 +71,7 @@ bsd:
            ${MAKE} clean && COPTS=-Os exec ${MAKE}
        cp ${.CURDIR}/../../../sys/arch/amd64/compile/${RAMDISK}/bsd bsd
 
-${IMAGE}: ${CBIN} rd_setup do_files rd_teardown
+${IMAGE}: rd_teardown
 
 rd_setup: ${CBIN}
        dd if=/dev/zero of=${REALIMAGE} bs=512 count=${NBLKS}
@@ -81,7 +81,7 @@ rd_setup: ${CBIN}
        fsck ${VND_RDEV}
        mount ${VND_DEV} ${MOUNT_POINT}
 
-rd_teardown:
+rd_teardown: do_files
        @df -i ${MOUNT_POINT}
        -umount ${MOUNT_POINT}
        -vnconfig -u ${VND}
@@ -120,7 +120,7 @@ ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN
 ${CRUNCHCONF}: ${LISTS}
        awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CRUNCHCONF}
 
-do_files:
+do_files: rd_setup
        mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u
        TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
            REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \

Reply via email to