I failed with "make buildworld" on 9.2, building from a 9.2 prerelease. svn revision on system to be built was 255986. uname -a shows FreeBSD amelia2 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #17 r254196: Sun Aug 11 00:36:49 UTC 2013 root at amelia2:/usr/obj/usr/src/sys/SANDY amd64 I had MODULES_WITH_WORLD=yes in /etc/make.conf to avoid the redundancy and annoyance of rebuilding modules every time I build a new kernel, like if I want a more portable kernel (for a USB-stick install) as well as my custom kernel. Point of failure seemed to be in module dtrace. I have in kernel config #options KDTRACE_FRAME # Ensure frames are compiled in #options KDTRACE_HOOKS # Kernel DTrace hooks Maybe I need to reenable these? Or is there a great hazard in building modules with world, which seems so logical? Last 32 lines of buildworld.log are ===> sys/modules/dtrace/sdt (depend) @ -> /usr/src/sys machine -> /usr/src/sys/amd64/include x86 -> /usr/src/sys/x86/include awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -p awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -q awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -h rm -f .depend mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE -I/usr/src/sys/modules/dtrace/sdt/../../../cddl/compat/opensolaris -I/usr/src/sys/modules/dtrace/sdt/../../../cddl/contrib/opensolaris/uts/common -I/usr/src/sys/modules/dtrace/sdt/../../.. -I. -I@ -I@/contrib/altq -std=iso9899:1999 /usr/src/sys/modules/dtrace/sdt/../../../cddl/dev/sdt/sdt.c /usr/src/sys/modules/dtrace/sdt/../../../cddl/dev/sdt/sdt.c:27:25: error: opt_kdtrace.h: No such file or directory mkdep: compile failed *** [.depend] Error code 1 Stop in /usr/src/sys/modules/dtrace/sdt. *** [depend] Error code 1 Stop in /usr/src/sys/modules/dtrace. *** [depend] Error code 1 Stop in /usr/src/sys/modules. *** [depend] Error code 1 Stop in /usr/src/sys. *** [sys.depend__D] Error code 1 Stop in /usr/src. *** [_depend] Error code 1 Stop in /usr/src. *** [buildworld] Error code 1 Stop in /usr/src. Tom
Thomas Mueller wrote:> I failed with "make buildworld" on 9.2, building from a 9.2 > prerelease. > > svn revision on system to be built was 255986. > > uname -a shows > > FreeBSD amelia2 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #17 r254196: > Sun Aug 11 00:36:49 UTC 2013 > root at amelia2:/usr/obj/usr/src/sys/SANDY amd64 > > I had MODULES_WITH_WORLD=yes in /etc/make.conf to avoid the > redundancy and annoyance of rebuilding modules every time I build a > new kernel, like if I want a more portable kernel (for a USB-stick > install) as well as my custom kernel. > > Point of failure seemed to be in module dtrace. > > I have in kernel config > > #options KDTRACE_FRAME # Ensure frames are compiled > in > #options KDTRACE_HOOKS # Kernel DTrace hooks > > Maybe I need to reenable these? > > Or is there a great hazard in building modules with world, which > seems so logical? > > Last 32 lines of buildworld.log are > > ===> sys/modules/dtrace/sdt (depend) > @ -> /usr/src/sys > machine -> /usr/src/sys/amd64/include > x86 -> /usr/src/sys/x86/include > awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -p > awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -q > awk -f @/tools/vnode_if.awk @/kern/vnode_if.src -h > rm -f .depend > mkdep -f .depend -a -nostdinc -D_KERNEL -DKLD_MODULE > -I/usr/src/sys/modules/dtrace/sdt/../../../cddl/compat/opensolaris > -I/usr/src/sys/modules/dtrace/sdt/../../../cddl/contrib/opensolaris/uts/common > -I/usr/src/sys/modules/dtrace/sdt/../../.. -I. -I@ -I@/contrib/altq > -std=iso9899:1999 > /usr/src/sys/modules/dtrace/sdt/../../../cddl/dev/sdt/sdt.c > /usr/src/sys/modules/dtrace/sdt/../../../cddl/dev/sdt/sdt.c:27:25: > error: opt_kdtrace.h: No such file or directory > mkdep: compile failed > *** [.depend] Error code 1 > > Stop in /usr/src/sys/modules/dtrace/sdt. > *** [depend] Error code 1 > > Stop in /usr/src/sys/modules/dtrace. > *** [depend] Error code 1 > > Stop in /usr/src/sys/modules. > *** [depend] Error code 1 > > Stop in /usr/src/sys. > *** [sys.depend__D] Error code 1 > > Stop in /usr/src. > *** [_depend] Error code 1 > > Stop in /usr/src. > *** [buildworld] Error code 1 > > Stop in /usr/src. > > Tom >I don't know if anyone else already commented on this, but you could try adding a line like: SRCS+= opt_kdtrace.h to the Makefile in modules/dtrace/sdt rick> _______________________________________________ > freebsd-stable at freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to > "freebsd-stable-unsubscribe at freebsd.org" >
On 03/10/2013 17:14, Thomas Mueller wrote:> I failed with "make buildworld" on 9.2, building from a 9.2 > prerelease. > > svn revision on system to be built was 255986. > > uname -a shows > > FreeBSD amelia2 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #17 r254196: > Sun Aug 11 00:36:49 UTC 2013 > root at amelia2:/usr/obj/usr/src/sys/SANDY amd64PRERELEASE would be from stable/9 - RELEASE from releng/9.2 Did you svn up on the stable branch or checkout releng/9.2?> I had MODULES_WITH_WORLD=yes in /etc/make.conf to avoid the > redundancy and annoyance of rebuilding modules every time I build a > new kernel, like if I want a more portable kernel (for a USB-stick > install) as well as my custom kernel. > > Point of failure seemed to be in module dtrace. > > I have in kernel config > > #options KDTRACE_FRAME # Ensure frames are compiled > in #options KDTRACE_HOOKS # Kernel DTrace hooks > > Maybe I need to reenable these?The 9.2 release notes says "DTrace hooks have been enabled by default in the GENERIC kernel" so they should already be enabled.
> I don't know if anyone else already commented on this, but you could try > adding a line like: > SRCS+= opt_kdtrace.h > to the Makefile in modules/dtrace/sdt> rickI just updated to svn revision 256062 and made your suggested change. Now to try again, and if that fails, svn up again, make clean to get rid of /usr/obj, and try again. Is there any special hazard in building modules with world? That would avoid building modules redundantly for every kernel config modification on the same source tree. Tom
from Shane Ambler:> On 03/10/2013 17:14, Thomas Mueller wrote: > > I failed with "make buildworld" on 9.2, building from a 9.2 > > prerelease. > > > svn revision on system to be built was 255986. > > > uname -a shows > > > FreeBSD amelia2 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #17 r254196: > > Sun Aug 11 00:36:49 UTC 2013 > > root at amelia2:/usr/obj/usr/src/sys/SANDY amd64> PRERELEASE would be from stable/9 - RELEASE from releng/9.2 > Did you svn up on the stable branch or checkout releng/9.2?> > I had MODULES_WITH_WORLD=yes in /etc/make.conf to avoid the > > redundancy and annoyance of rebuilding modules every time I build a > > new kernel, like if I want a more portable kernel (for a USB-stick > > install) as well as my custom kernel. > > > Point of failure seemed to be in module dtrace. > > > I have in kernel config > > > #options KDTRACE_FRAME # Ensure frames are compiled > > in #options KDTRACE_HOOKS # Kernel DTrace hooks > > > Maybe I need to reenable these?> The 9.2 release notes says "DTrace hooks have been enabled by default in > the GENERIC kernel" so they should already be enabled.I failed again on "make buildworld". svn revision 256062 This time, problem module was rdma. I see the DTrace hooks were enabled in GENERIC, but not in my config from 9.1. I did svn up on stable/9 branch. Maybe building modules with world is too hazardous? But then how do I avoid building all modules redundantly whenever I rebuild the kernel from same source tree? It seems the system is hell-bent on building all modules every time, even if I have "-DNO_MODULES" on make command line, or WITHOUT_MODULES=ulpt (or usb/ulpt) in make.conf or src.conf . What modules do I need anyway, and how do I know so as not to miss something vital? Most seem to duplicate functions that already appear in kernel config. I believe Linux kernel config offers y (build as part of kernel), m (build as module) and n (don't build). I don't need to support every Ethernet adapter and every outdated SCSI adapter. Tom