From owner-freebsd-current@FreeBSD.ORG Wed Oct 29 20:33:44 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5C942B7; Wed, 29 Oct 2014 20:33:44 +0000 (UTC) Received: from lamora.getmail.no (lamora.getmail.no [84.210.184.7]) by mx1.freebsd.org (Postfix) with ESMTP id F41451D7; Wed, 29 Oct 2014 20:33:43 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by lamora.getmail.no (Postfix) with ESMTP id D009FA51EB; Wed, 29 Oct 2014 21:25:52 +0100 (CET) Received: from lamora.getmail.no ([127.0.0.1]) by localhost (lamora.get.c.bitbit.net [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id zoZdZohxzUmi; Wed, 29 Oct 2014 21:25:48 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by lamora.getmail.no (Postfix) with ESMTP id 4C4C6A5318; Wed, 29 Oct 2014 21:25:48 +0100 (CET) X-Virus-Scanned: amavisd-new at lamora.get.c.bitbit.net Received: from lamora.getmail.no ([127.0.0.1]) by localhost (lamora.get.c.bitbit.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 1v4N-AlsqSDg; Wed, 29 Oct 2014 21:25:48 +0100 (CET) Received: from onyx.thanelange.no (cm-84.208.179.208.getinternet.no [84.208.179.208]) by lamora.getmail.no (Postfix) with ESMTP id 1B5BAA525F; Wed, 29 Oct 2014 21:25:48 +0100 (CET) Date: Wed, 29 Oct 2014 21:24:54 +0100 From: Gyrd Thane Lange To: Ian Lepore Subject: Re: buildkernel: make[2]: exec(ctfconvert) failed (No such file or directory) Message-ID: <20141029212454.6fcfc3ac@onyx.thanelange.no> In-Reply-To: <1414593742.17308.72.camel@revolution.hippie.lan> References: <20141028235011.543be3ea@onyx.thanelange.no> <1414537299.17308.28.camel@revolution.hippie.lan> <20141029003515.28e26444@onyx.thanelange.no> <20141029012432.41e22c7a@onyx.thanelange.no> <20141029143850.5af41378@onyx.thanelange.no> <1414593742.17308.72.camel@revolution.hippie.lan> X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.22; amd64-portbld-freebsd11.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: FreeBSD Current , NGie Cooper , Mark Johnston X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Oct 2014 20:33:44 -0000 On Wed, 29 Oct 2014 08:42:22 -0600 Ian Lepore wrote: > On Wed, 2014-10-29 at 14:38 +0100, Gyrd Thane Lange wrote: > > On Wed, 29 Oct 2014 01:24:32 +0100 > > Gyrd Thane Lange wrote: > > > > > On Tue, 28 Oct 2014 16:45:47 -0700 > > > NGie Cooper wrote: > > > > > > > On Tue, Oct 28, 2014 at 4:35 PM, Gyrd Thane Lange > > > > wrote: > > > > > On Tue, 28 Oct 2014 17:01:39 -0600 > > > > > Ian Lepore 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. > > > > The important question to be asking at this point: > > Why are you the only person in the world who has had to do this? > > Until you have an answer to that, nothing is really fixed. The thing > that's different for you than for most people, I guess, is that you > originally built the system WITHOUT_CDDL then removed that option. > That's almost certainly a factor somehow. > > Also, the copy of the tool within obj that it should use is not the > copy you manually pointed to with those changes. When newer build > tools are needed, they exist within /usr/obj/usr/src/tmp/. So... why > doesn't ctfconvert exist for you in that location after making > kernel-toolchain? It does not exist in that location for anybody (not just me)*. I just happen to notice it sooner because I have no ctfconvert installed on the host beforehand. Actually, mine is the better situation in that the build stopped with an up front error instead of using the wrong (possible outdated) tools and introduced other subtle errors. I believe this is reproducible on anybodys system by deleting/moving the ctfconvert tool away from the host, before trying to build a dtrace enabled kernel. I see elsewhere in the thread that Garret and Mark are onto the real problem and solution. Gyrd ^_^ * Actually, I did see some libraries copied to /usr/obj/usr/src/tmp/.../ but none of the tools. Users that are upgrading from quite older versions and/or are crossbuilding may have the tools. > > -- Ian > > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to > "freebsd-current-unsubscribe@freebsd.org"