buildkernel: make[2]: exec(ctfconvert) failed (No such file or directory)

Gyrd Thane Lange gyrd-se at thanelange.no
Wed Oct 29 13:40:06 UTC 2014


On Wed, 29 Oct 2014 01:24:32 +0100
Gyrd Thane Lange <gyrd-se at thanelange.no> wrote:

> On Tue, 28 Oct 2014 16:45:47 -0700
> NGie Cooper <yaneurabeya at gmail.com> wrote:
> 
> > On Tue, Oct 28, 2014 at 4:35 PM, Gyrd Thane Lange
> > <gyrd-se at thanelange.no> wrote:
> > > On Tue, 28 Oct 2014 17:01:39 -0600
> > > Ian Lepore <ian at FreeBSD.org> wrote:
> > >
> > >> On Tue, 2014-10-28 at 23:50 +0100, Gyrd Thane Lange wrote:
> > >> > 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
> > >>
> > >> Do a "make kernel-toolchain" which will build a new ctfconvert
> > >> and put it in the right place within /usr/obj to be used during
> > >> buildkernel.
> > >
> > > Thanks, I will try this (building now). But if it works I'll be
> > > somewhat confused. I thought kernel-toolchain was implicit when
> > > doing a full buildworld (which I've already done), and I already
> > > have a ctfconvert
> > > (/usr/obj/usr/src/cddl/usr.bin/ctfconvert/ctfconvert).
> 
> Finished a make kernel-toolchain (but it left me with even less
> binaries than make buildworld):
> 
> # find /usr/src/ /usr/obj -name ctfconvert -type f
> (nothing found)
> 
> > > The problem looks more like buildkernel is ignoring the ctfconvert
> > > tool in /usr/obj/ and instead is expecting to find it in /usr/bin
> > > (or some such).
> > 
> >     It should be located in /usr/obj -- we should not expect the
> > tool in /usr/bin to be correct/compatible with the source tree.
> 
> I agree. :)
> 
> while waiting for a proper solution for this, I'll try looking at the
> Makefiles and bsd.*.mk files under /usr/src my self, but I have never
> looked at them before so I don't expect a speedy success.

Discovered that the tools are set in /usr/src/share/mk/sys.mk:

CTFCONVERT	?=	ctfconvert
CTFMERGE	?=	ctfmerge
DTRACE		?=	dtrace

I then set the following in my /etc/src.conf (NB! long lines):

CTFCONVERT=env
LD_LIBRARY_PATH=/usr/obj/usr/src/cddl/lib/libctf/ /usr/obj/usr/src/cddl/usr.bin/ctfconvert/ctfconvert
CTFMERGE=env
LD_LIBRARY_PATH=/usr/obj/usr/src/cddl/lib/libctf /usr/obj/usr/src/cddl/usr.bin/ctfmerge/ctfmerge
DTRACE=env
LD_LIBRARY_PATH=/usr/obj/usr/src/cddl/lib/libctf:/usr/obj/usr/src/cddl/lib/libdtrace /usr/obj/usr/src/cddl/usr.sbin/dtrace/dtrace

This allowed me to successfully build the kernel.

Gyrd ^_^

> 
> Gyrd ^_^
> 
> > Cheers!
> > _______________________________________________
> > freebsd-current at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-current
> > To unsubscribe, send any mail to
> > "freebsd-current-unsubscribe at freebsd.org"
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
> "freebsd-current-unsubscribe at freebsd.org"


More information about the freebsd-current mailing list