On Wed, 8 Apr 2020 14:51:14 -0700 John Baldwin <jhb_at_FreeBSD.org> wrote: > On 4/7/20 11:32 PM, Gary Jennejohn wrote: > > Has anyone else seen this error? > > > > I tried to build a kernel yesterday, but the build failed while compiling > > modules because ctfconvert was not found. > > > > I've had WITH_CTF=no in my src.conf for years, so neither ctfconvert nor > > ctfmerge were installed. > > > > OK, I'll just go to the source dirctories and build and install. > > > > Nope. I got this error: > > make: exec(ctfconvert) failed (No such file or directory) > > and the build failed. > > > > WTF? ctfconvert requires ctfconvert to build? That makes no sense and is > > a real chicken-and-egg problem if I've ever seen one. > > > > I ended up creating /usr/bin/ctf{convert,merge} shell scripts which simply > > did exit 0. That allowed me to finally compile and install the utilities. > > > > Now I'm forced to have WITH_CTF=yes in my src.conf. No big deal. > > > > Still, it seems like the change to the make infrastructure which assumed > > that cft{convert,merge} are always installed was rather premature. > > The change is that GENERIC has 'makeoptions WITH_CTF=yes'. If you build a > kernel without that, you shouldn't need to have ctfconvert installed. This > does mean you need to use a custom kernel instead of GENERIC. > That is exactly what I found confusing. I tried both with and without CTF in my kernel config file and the build still failed. grep CTF /sys/amd64/conf/ernst_new #makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support #options DDB_CTF # Kernel ELF linker loads CTF data I also have makeoptions MODULES_OVERRIDE="cpuctl msdosfs pseudofs filemon" If I move ctfconvert away then I see this error: cd /usr/src; make buildkernel -------------------------------------------------------------- >>> Kernel build for ernst_new started on Thu Apr 9 08:51:06 CEST 2020 -------------------------------------------------------------- ===> ernst_new -------------------------------------------------------------- >>> stage 1: configuring the kernel -------------------------------------------------------------- Kernel build directory is /home/garyj/obj/usr/src/amd64.amd64/sys/ernst_new Don't forget to do ``make cleandepend && make depend'' -------------------------------------------------------------- >>> stage 2.3: build tools -------------------------------------------------------------- -------------------------------------------------------------- >>> stage 3.1: building everything -------------------------------------------------------------- sh: ctfconvert: not found *** [cpuctl.o] Error code 127 make[4]: *** cpuctl.o removed make[4]: stopped in /usr/src/sys/modules/cpuctl .ERROR_TARGET='cpuctl.o' .ERROR_META_FILE='/home/garyj/obj/usr/src/amd64.amd64/sys/ernst_new/modules/usr/src/sys/modules/cpuctl/cpuctl.o.meta' So, without ctfconvert installed buildkernel ALWAYS fails to build the modules no matter what CTF options are used in the kernel config file. In contrast, buildworld does still work without ctfconvert. -- Gary JennejohnReceived on Thu Apr 09 2020 - 05:33:52 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:23 UTC