Solved Kernel Compilation

Hi,

I was running RC version of FreeBSD with compiled Kernel, I have updated RC to RELEASE and have to compile kernel once again so I can have ALTQ support.

Updated svn

Edited kernel config file and run


make buildkernel KERNCONF=MCLOSE


I am getting this message:
Code:
--------------------------------------------------------------
>>> stage 2.3: build tools
--------------------------------------------------------------
cd /usr/src; TOOLS_PREFIX=/usr/obj/usr/src/tmp MAKEOBJDIRPREFIX=/usr/obj/usr/src/tmp  INSTALL="sh /usr/src/tools/install.sh"  PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/sbin:/bin:/usr/sbin:/usr/bin  WORLDTMP=/usr/obj/usr/src/tmp  VERSION="FreeBSD 10.3-RELEASE amd64 1003000"  COMPILER_TYPE=clang make  -f Makefile.inc1  DESTDIR=  BOOTSTRAPPING=1003000  SSP_CFLAGS=  -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN  -DNO_PIC -DNO_PROFILE -DNO_SHARED  -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD kernel-tools
mkdir -p /usr/obj/usr/src/tmp/usr
mtree -deU -f /usr/src/etc/mtree/BSD.usr.dist  -p /usr/obj/usr/src/tmp/usr >/dev/null

--------------------------------------------------------------
>>> stage 3.1: making dependencies
--------------------------------------------------------------
cd /usr/obj/usr/src/sys/MCLOSE; MAKEOBJDIRPREFIX=/usr/obj  MACHINE_ARCH=amd64  MACHINE=amd64  CPUTYPE= GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin  GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font  GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac  _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp  _LDSCRIPTROOT=  VERSION="FreeBSD 10.3-RELEASE amd64 1003000"  INSTALL="sh /usr/src/tools/install.sh"  PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin CC="cc " CXX="c++ "  CPP="cpp "  AS="as" AR="ar" LD="ld" NM=nm  OBJDUMP=objdump OBJCOPY="objcopy"  RANLIB=ranlib STRINGS= COMPILER_TYPE=clang make  -m /usr/src/share/mk  KERNEL=kernel depend -DNO_MODULES_OBJ
machine -> /usr/src/sys/amd64/include
x86 -> /usr/src/sys/x86/include
cc  -c -O2 -pipe -fno-strict-aliasing -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/dev/ath -I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/dev/cxgb -I/usr/src/sys/dev/cxgbe -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mno-aes -mno-avx -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -gdwarf-2 /usr/src/sys/amd64/amd64/genassym.c
NM='nm' sh /usr/src/sys/kern/genassym.sh genassym.o > assym.s
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -q
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h
awk -f /usr/src/sys/tools/acpi_quirks2h.awk /usr/src/sys/dev/acpica/acpi_quirks
awk -f /usr/src/sys/tools/sound/feeder_eq_mkfilter.awk --  > feeder_eq_gen.h
awk -f /usr/src/sys/tools/sound/feeder_rate_mkfilter.awk --  > feeder_rate_gen.h
awk -f /usr/src/sys/tools/sound/snd_fxdiv_gen.awk -- > snd_fxdiv_gen.h
awk -f /usr/src/sys/tools/pccarddevs2h.awk /usr/src/sys/dev/pccard/pccarddevs
awk -f /usr/src/sys/teken/gensequences /usr/src/sys/teken/sequences > teken_state.h
awk -f /usr/src/sys/tools/usbdevs2h.awk /usr/src/sys/dev/usb/usbdevs -h
awk -f /usr/src/sys/tools/usbdevs2h.awk /usr/src/sys/dev/usb/usbdevs -d
cc  -O2 -pipe -fno-strict-aliasing -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/dev/ath -I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/dev/cxgb -I/usr/src/sys/dev/cxgbe -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mno-aes -mno-avx -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -gdwarf-2 -c /usr/src/sys/compat/ia32/ia32_genassym.c
env NM='nm' sh /usr/src/sys/kern/genassym.sh ia32_genassym.o > ia32_assym.h
cc  -c -x assembler-with-cpp -DLOCORE -O2 -pipe -fno-strict-aliasing  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option  -Wno-error-tautological-compare -Wno-error-empty-body  -Wno-error-parentheses-equality -Wno-error-unused-function   -nostdinc  -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/dev/ath -I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/dev/cxgb -I/usr/src/sys/dev/cxgbe -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mno-aes -mno-avx -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -gdwarf-2 -no-integrated-as -Werror /usr/src/sys/amd64/acpica/acpi_wakecode.S
objcopy -S -O binary acpi_wakecode.o acpi_wakecode.bin
file2c -sx 'static char wakecode[] = {' '};' < acpi_wakecode.bin > acpi_wakecode.h
nm -n --defined-only acpi_wakecode.o | while read offset dummy what; do echo "#define   ${what} 0x${offset}"; done > acpi_wakedata.h
awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/agp/agp_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/ata/ata_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/fb/fb_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mvs/mvs_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/ppbus/ppbus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sdhci/sdhci_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pci/hda/hdac_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pcm/ac97_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pcm/channel_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pcm/feeder_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pcm/mixer_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/midi/mpu_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/midi/mpufoi_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/midi/synth_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/uart/uart_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/usb/usb_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/raid/g_raid_md_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/raid/g_raid_tr_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/clock_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbusb_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpi_support/acpi_wmi_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/virtio/virtio_bus_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/virtio/virtio_if.m -c
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/agp/agp_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/ata/ata_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/fb/fb_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mvs/mvs_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/ppbus/ppbus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sdhci/sdhci_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pci/hda/hdac_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pcm/ac97_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pcm/channel_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pcm/feeder_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/pcm/mixer_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/midi/mpu_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/midi/mpufoi_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/sound/midi/synth_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/uart/uart_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/usb/usb_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/raid/g_raid_md_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/raid/g_raid_tr_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/clock_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbusb_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpi_support/acpi_wmi_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/virtio/virtio_bus_if.m -h
awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/virtio/virtio_if.m -h
rm -f .depend.tmp
make -V CFILES_NORMAL -V SYSTEM_CFILES -V GEN_CFILES |  MKDEP_CPP="cc  -E" CC="cc " xargs mkdep -a -f .depend.tmp -O2 -pipe -fno-strict-aliasing  -std=c99 -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option  -Wno-error-tautological-compare -Wno-error-empty-body  -Wno-error-parentheses-equality -Wno-error-unused-function   -nostdinc  -I. -I/usr/src/sys -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter -I/usr/src/sys/dev/ath -I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm -I/usr/src/sys/dev/twa -I/usr/src/sys/dev/cxgb -I/usr/src/sys/dev/cxgbe -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -mno-aes -mno-avx -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -gdwarf-2
In file included from /usr/src/sys/dev/bce/if_bce.c:52:
/usr/src/sys/dev/bce/if_bcereg.h:68:10: fatal error: 'miidevs.h' file not found
#include "miidevs.h"
         ^
1 error generated.
mkdep: compile failed
*** Error code 1

Stop.
make[2]: stopped in /usr/obj/usr/src/sys/MCLOSE
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src

Please advise
 
You've included the bce network driver, but have remove the mii-related entries that it requires. Basically, you have a broken config file that's missing dependencies for drivers. :)
 
Just checking if it will help. How do you guys know so much about FreeBSD? It's not an easy system to learn... I am hoping it will be me one day who will be helping people on this forum...
 
Basically it is not a good idea to edit the kernel unless you know exactly what you're doing. There's not much memory difference between GENERIC and scaled down customized kernel.
 
Basically it is not a good idea to edit the kernel unless you know exactly what you're doing. There's not much memory difference between GENERIC and scaled down customized kernel.

Well, I am trying to follow FreeBSD manual online and it says to save memory I can scale down, I won't be adding any new devices as machine is running as server and server only... Just wanted to get it up and running without adding additional devices. But I think I will stick to the GENERIC with ALTQ added on.
 
You can type kldstat -v and it will list all the loaded modules.

Alternatively, you can review the log /var/log/messages and see what modules was loaded at boot-up. I think this is much easier.

You can use these information to remove unneccessary modules from the kernel config.
 
Just checking if it will help. How do you guys know so much about FreeBSD? It's not an easy system to learn... I am hoping it will be me one day who will be helping people on this forum...

Many, many, many years of trial and error. :) Started with FreeBSD 2.2.5 and 3.1 back in late 90s (didn't work on my laptop), moved to 4.0 in early 00s at work, and migrated through all the versions since then (mostly on firewalls, home server, and then storage/backups servers at work). Lots of reading both dead tree editions (bought a couple versions of Greg's FreeBSD books) and online.

Basically, the more you use the system, the more you learn about the system. :) And the more you break things, the faster you learn things. :D
 
Not everything is thoroughly documented but there's usually a lot of information hidden in the remarks.

Code:
# PCI Ethernet NICs that use the common MII bus controller code.
[b]# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs![/b]
 
Back
Top