Date: Tue, 02 Oct 2012 23:48:08 +0200 From: Dimitry Andric <dimitry@andric.com> To: Eitan Adler <lists@eitanadler.com> Cc: Volodymyr Kostyrko <c.kworr@gmail.com>, stable@freebsd.org Subject: Re: Missing lib on linking libc WITH_LIBCPLUSPLUS Message-ID: <506B6118.1020701@andric.com> In-Reply-To: <CAF6rxgkGyHRwCgGxcRnwTOhJ7kfeuBvrBPNfjUWNFZ6zYP_fjg@mail.gmail.com> References: <506A9D89.80303@gmail.com> <506AB019.70501@andric.com> <506B0FF5.5050505@gmail.com> <CAF6rxgkGyHRwCgGxcRnwTOhJ7kfeuBvrBPNfjUWNFZ6zYP_fjg@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
On 2012-10-02 19:27, Eitan Adler wrote: > On 2 October 2012 12:01, Volodymyr Kostyrko <c.kworr@gmail.com> wrote: ... >> Bingo. Yes, disabling ccache makes everything work. > please ping the ccache folk about this. It *shouldn't* matter. :) In this case, ccache apparently does not realize that the world stage is using the toolchain built during the cross-tools stage, which usually is in /usr/obj/usr/src/tmp/usr/bin. This toolchain uses another include and lib path, e.g. it only refers to headers and libraries under /usr/obj, specifically *not* those in the base system. In Volodymyr's original log, you can see /usr/bin/ld being invoked by the compiler driver, not /usr/obj/usr/src/tmp/usr/bin/ld. I think ccache invokes /usr/bin/cc, instead of /usr/obj/usr/src/tmp/usr/bin/cc. Normally ccache searches the PATH to find the 'real' cc executable, but I am not sure why this goes wrong during the world stage. It would be interesting to see some verbose logging from ccache, to see how it finds the cc executable here.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?506B6118.1020701>
