you can try to set HOSTCC=/usr/bin/gcc along when you call make may be via EXTRA_OEMAKE, problem you have is that kernel is expecting gcc to be used for host utilties and ccache has overrides for gcc which may not be working in all situations. Ideally you should just uninstall ccache from your build host.
On Fri, Jul 1, 2016 at 1:45 AM, Zhenhua Luo <zhenhua....@nxp.com> wrote: > Thanks a lot for your comments, Daniel. > > Can somebody please shed light on how to fix the issue in Yocto recipes? > > > Best Regards, > > Zhenhua > >> -----Original Message----- >> From: Daniel. [mailto:danielhi...@gmail.com] >> Sent: Friday, July 01, 2016 4:48 AM >> To: Zhenhua Luo <zhenhua....@nxp.com> >> Cc: Khem Raj <raj.k...@gmail.com>; yocto@yoctoproject.org >> Subject: Re: [yocto] Failed to cross compile kernel with Yocto toolchain >> >> The problem is that ccache is not finding the compiler after environment- >> setup*.sh is sourced.Your error message can be foud at: >> https://github.com/ccache/ccache/blob/master/ccache.c#L2075. It seems that >> its searching for "gcc" when I though that kernel would search for >> "${CROSS_COMPILE}gcc" >> >> 2016-06-29 22:54 GMT-03:00 Zhenhua Luo <zhenhua....@nxp.com>: >> > I think you mean /usr/lib64/ccache/gcc instead of /usr/lib64/gcc, it is a >> > valid >> link. >> > >> > $ source /opt/poky/2.1+snapshot/environment-setup-ppce500mc-poky- >> linux >> > $ which gcc >> > /usr/lib64/ccache/gcc >> > $ >> > $ ls -l /usr/lib64/ccache/gcc >> > lrwxrwxrwx 1 root root 16 Jun 29 18:22 /usr/lib64/ccache/gcc -> >> > ../../bin/ccache $ ls -l /usr/bin/ccache -rwxr-xr-x 1 root root 128584 >> > Jan 26 14:58 /usr/bin/ccache $ >> > >> > >> > Best Regards, >> > >> > Zhenhua >> > >> >> -----Original Message----- >> >> From: Daniel. [mailto:danielhi...@gmail.com] >> >> Sent: Wednesday, June 29, 2016 8:14 PM >> >> To: Zhenhua Luo <zhenhua....@nxp.com> >> >> Cc: Khem Raj <raj.k...@gmail.com>; yocto@yoctoproject.org >> >> Subject: Re: [yocto] Failed to cross compile kernel with Yocto >> >> toolchain >> >> >> >> Is /usr/lib64/gcc a file or a link? Is it a valid link? >> >> >> >> 2016-06-29 5:52 GMT-03:00 Zhenhua Luo <zhenhua....@nxp.com>: >> >> > The /usr/lib64/ccache is added in PATH by /etc/profile.d/ccache.sh >> >> > when ccache is installed on Fedora host, the issue disappears if >> >> > one of the following changes is done. >> >> > >> >> > 1. Remove /usr/lib64/ccache from PATH >> >> > >> >> > 2. Move /usr/lib64/ccache after /usr/bin in PATH >> >> > >> >> > 3. Set CCACHE_PATH equals to PATH >> >> > >> >> > 4. Unset CCACHE_PATH >> >> > >> >> > >> >> > >> >> > Another observation, before sourcing >> >> > environment-setup-<core>-poky-linux, >> >> > gcc can be found even if /usr/lib64/ccache is in prepend to PATH, >> >> > but after sourcing the environment-setup-<core>-poky-linux script, >> >> > the gcc can’t be found, this should be a bug of the >> >> > environment-setup-<core>-poky-linux >> >> > script. Should I open a Bugzilla ticket to track it? >> >> > >> >> > >> >> > >> >> > $ echo $PATH >> >> > >> >> > /usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/us >> >> > r/l >> >> > ocal/sbin:/usr/sbin:/home/bjsimics/.local/bin:/home/bjsimics/bin >> >> > >> >> > which gcc >> >> > >> >> > /usr/lib64/ccache/gcc >> >> > >> >> > $ gcc -v >> >> > >> >> > Using built-in specs. >> >> > >> >> > COLLECT_GCC=/usr/bin/gcc >> >> > >> >> > COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/lto- >> >> wra >> >> > pper >> >> > >> >> > Target: x86_64-redhat-linux >> >> > >> >> > Configured with: ../configure --enable-bootstrap >> >> > --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto >> >> > --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info >> >> > --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared >> >> > --enable-threads=posix --enable-checking=release --enable-multilib >> >> > --with-system-zlib --enable-__cxa_atexit >> >> > --disable-libunwind-exceptions --enable-gnu-unique-object >> >> > --enable-linker-build-id --with-linker-hash-style=gnu >> >> > --enable-plugin --enable-initfini-array --disable-libgcj >> >> > --with-default-libstdcxx-abi=gcc4-compatible --with-isl >> >> > --enable-libmpx --enable-gnu-indirect-function --with-tune=generic >> >> > --with-arch_32=i686 --build=x86_64-redhat-linux >> >> > >> >> > Thread model: posix >> >> > >> >> > gcc version 5.3.1 20160406 (Red Hat 5.3.1-6) (GCC) >> >> > >> >> > $ >> >> > >> >> > $ source /opt/poky/2.1+snapshot/environment-setup-ppce500mc-poky- >> >> linux >> >> > >> >> > $ >> >> > >> >> > $ echo $PATH >> >> > >> >> > /opt/poky/2.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin:/opt/p >> >> > oky >> >> > /2.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/sbin:/opt/poky/2.1+ >> >> > sna >> >> > pshot/sysroots/x86_64-pokysdk-linux/bin:/opt/poky/2.1+snapshot/sysr >> >> > oot >> >> > s/x86_64-pokysdk-linux/sbin:/opt/poky/2.1+snapshot/sysroots/x86_64- >> >> > pok >> >> > ysdk-linux/usr/bin/../x86_64-pokysdk-linux/bin:/opt/poky/2.1+snapsh >> >> > ot/ >> >> > sysroots/x86_64-pokysdk-linux/usr/bin/powerpc-poky-linux:/opt/poky/ >> >> > 2.1 >> >> > +snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/powerpc-poky-linux- >> >> > +ucl >> >> > ibc:/opt/poky/2.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/po >> >> > wer >> >> > pc-poky-linux-musl:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/loc >> >> > al/ >> >> > bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/bjsimics/.local/bin:/h >> >> > ome >> >> > /bjsimics/bin >> >> > >> >> > $ >> >> > >> >> > $ which gcc >> >> > >> >> > /usr/lib64/ccache/gcc >> >> > >> >> > $ gcc -v >> >> > >> >> > ccache: error: Could not find compiler "gcc" in PATH >> >> > >> >> > $ >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > Best Regards, >> >> > >> >> > >> >> > >> >> > Zhenhua >> >> > >> >> > >> >> > >> >> > From: Khem Raj [mailto:raj.k...@gmail.com] >> >> > Sent: Tuesday, June 28, 2016 10:48 PM >> >> > To: Zhenhua Luo <zhenhua....@nxp.com> >> >> > Cc: yocto@yoctoproject.org >> >> > Subject: RE: [yocto] Failed to cross compile kernel with Yocto >> >> > toolchain >> >> > >> >> > >> >> > >> >> > /usr/lib64/ccache is unusual why do you have it in path and if you >> >> > really need it add it after all other paths. Check your env first >> >> > >> >> > >> >> > >> >> > On Jun 27, 2016 10:56 PM, "Zhenhua Luo" <zhenhua....@nxp.com> wrote: >> >> > >> >> > Hello Khem, >> >> > >> >> > >> >> >> -----Original Message----- >> >> >> From: Khem Raj [mailto:raj.k...@gmail.com] >> >> >> Sent: Tuesday, June 28, 2016 12:36 AM >> >> >> To: Zhenhua Luo <zhenhua....@nxp.com> >> >> >> Cc: yocto@yoctoproject.org >> >> >> Subject: Re: [yocto] Failed to cross compile kernel with Yocto >> >> >> toolchain >> >> >> >> >> >> On Mon, Jun 27, 2016 at 1:16 AM, Zhenhua Luo <zhenhua....@nxp.com> >> >> >> wrote: >> >> >> > Hello all, >> >> >> > >> >> >> > >> >> >> > >> >> >> > I generate the Yocto toolchain by “bitbake meta-toolchain”, and >> >> >> > use this toolchain to cross-compile kernel, I met the following >> >> >> > error. >> >> >> > Is this a bug or I missed something? My host Linux is Fedora 22. >> >> >> >> >> >> its better to start using bitbake -cpopulate_sdk <image name> to >> >> >> generate SDKs. >> >> >> >> >> >> >> >> >> > >> >> >> > >> >> >> > >> >> >> > $ source >> >> >> > /opt/poky/2.1+snapshot/environment-setup-ppce500mc-poky- >> >> >> linux >> >> >> > >> >> >> > $ cd linux/ >> >> >> > >> >> >> > $ make corenet32_smp_defconfig >> >> >> > >> >> >> > HOSTCC scripts/kconfig/conf.o >> >> >> > >> >> >> > ccache: error: Could not find compiler "gcc" in PATH >> >> >> >> >> >> did you see if gcc is in your path after sourcing SDK env script? >> >> > >> >> > [Luo Zhenhua-B19537] gcc can't be found after sourcing the SDK env >> >> > script. >> >> > but the /usr/bin is in the PATH env variable. >> >> > $ source /opt/poky/2.1+snapshot/environment-setup-ppce500mc-poky- >> >> linux >> >> > $ echo $PATH >> >> > /opt/poky/2.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin:/opt/p >> >> > oky >> >> > /2.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/sbin:/opt/poky/2.1+ >> >> > sna >> >> > pshot/sysroots/x86_64-pokysdk-linux/bin:/opt/poky/2.1+snapshot/sysr >> >> > oot >> >> > s/x86_64-pokysdk-linux/sbin:/opt/poky/2.1+snapshot/sysroots/x86_64- >> >> > pok >> >> > ysdk-linux/usr/bin/../x86_64-pokysdk-linux/bin:/opt/poky/2.1+snapsh >> >> > ot/ >> >> > sysroots/x86_64-pokysdk-linux/usr/bin/powerpc-poky-linux:/opt/poky/ >> >> > 2.1 >> >> > +snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/powerpc-poky-linux- >> >> > +ucl >> >> > ibc:/opt/poky/2.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/po >> >> > wer >> >> > pc-poky-linux-musl:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/loc >> >> > al/ >> >> > bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/bjsimics/.local/bin:/h >> >> > ome >> >> > /bjsimics/bin >> >> > $ echo $CCACHE_PATH >> >> > /opt/poky/2.1+snapshot/sysroots/x86_64-pokysdk- >> >> linux/usr/bin:/opt/poky/2.1+snapshot/sysroots/x86_64-pokysdk- >> >> linux/usr/bin/../x86_64-pokysdk- >> >> linux/bin:/opt/poky/2.1+snapshot/sysroots/x86_64-pokysdk- >> >> linux/usr/bin/powerpc-poky-linux:/opt/poky/2.1+snapshot/sysroots/x86_ >> >> 64- >> >> pokysdk-linux/usr/bin/powerpc-poky-linux- >> >> uclibc:/opt/poky/2.1+snapshot/sysroots/x86_64-pokysdk- >> >> linux/usr/bin/powerpc-poky-linux-musl: >> >> > $ which gcc >> >> > /usr/lib64/ccache/gcc >> >> > $ gcc -v >> >> > >> >> > ccache: error: Could not find compiler "gcc" in PATH >> >> > >> >> > Best Regards, >> >> > >> >> > Zhenhua >> >> > >> >> > >> >> >> > scripts/Makefile.host:108: recipe for target 'scripts/kconfig/conf.o' >> >> >> > failed >> >> >> > >> >> >> > make[1]: *** [scripts/kconfig/conf.o] Error 1 >> >> >> > >> >> >> > Makefile:541: recipe for target 'corenet32_smp_defconfig' failed >> >> >> > >> >> >> > make: *** [corenet32_smp_defconfig] Error 2 >> >> >> > >> >> >> > >> >> >> > >> >> >> > >> >> >> > >> >> >> > Best Regards, >> >> >> > >> >> >> > >> >> >> > >> >> >> > Zhenhua >> >> >> > >> >> >> > >> >> >> > -- >> >> >> > _______________________________________________ >> >> >> > yocto mailing list >> >> >> > yocto@yoctoproject.org >> >> >> > https://lists.yoctoproject.org/listinfo/yocto >> >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > -- >> >> > _______________________________________________ >> >> > yocto mailing list >> >> > yocto@yoctoproject.org >> >> > https://lists.yoctoproject.org/listinfo/yocto >> >> > >> >> >> >> >> >> >> >> -- >> >> "Do or do not. There is no try" >> >> Yoda Master >> >> >> >> -- >> "Do or do not. There is no try" >> Yoda Master -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto