From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrick DELAUNAY Date: Mon, 9 Jul 2018 07:18:21 +0000 Subject: [U-Boot] build fail due to dependence error In-Reply-To: References: <83756b95-d066-2667-f036-24fd1097541e@rock-chips.com> <19ab9dda-5133-829a-4c4f-6988926a4a9f@rock-chips.com> <0C0CB5DB-9494-4784-AFA0-FD15BD8D2390@theobroma-systems.com> <16B6121B-9855-47A6-961A-613834160116@theobroma-systems.com> Message-ID: <3b7758db11d543768be991bdc8eb1b00@SFHDAG6NODE3.st.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de > From: U-Boot On Behalf Of Masahiro Yamada > Sent: lundi 9 juillet 2018 07:27 > Subject: Re: [U-Boot] build fail due to dependence error > > Hi. > > > 2018-07-09 11:39 GMT+09:00 Simon Glass : > > +Masahiro who might know > > > > On 2 July 2018 at 01:23, Dr. Philipp Tomsich > > wrote: > >> Kever, > >> > >> Could you check the build artifacts in Jenkins to see whether after > >> the ‘make [configname]_defconfig’, the link for asm/arch is correctly > >> set up? > >> > >> Thanks, > >> Philipp. > >> > >> On 2 Jul 2018, at 09:54, Kever Yang wrote: > >> > >> Hi Simon, > >> > >> > >> On 06/30/2018 12:19 PM, Simon Glass wrote: > >> > >> Hi, > >> > >> On 28 June 2018 at 01:41, Dr. Philipp Tomsich > >> wrote: > >> > >> Kever, > >> > >> is the link for ‘asm’ set up correctly? > >> > >> Thanks, > >> Philipp. > >> > >> On 28 Jun 2018, at 10:38, Kever Yang wrote: > >> > >> Hi Simon, > >> > >> Do you have any idea about this error? > >> > >> > >> CC lib/asm-offsets.s > >> CC arch/arm/lib/asm-offsets.s > >> fixdep: error opening config file: > >> arch/arm/include/asm/arch/hardware.h: No such file or directory > >> Kbuild:64: recipe for target 'arch/arm/lib/asm-offsets.s' failed > >> make[1]: *** [arch/arm/lib/asm-offsets.s] Error 2 > >> make[1]: *** 正在等待未完成的任务.... > >> CHK include/config.h > >> Makefile:1340: recipe for target 'prepare0' failed > >> > >> Thanks, > >> - Kever > >> > >> On 06/01/2018 05:59 PM, Kever Yang wrote: > >> > >> Hi Guys, > >> > >> I met below error from time to time when build U-Boot project. > >> > >> fixdep: error opening config file: > >> arch/arm/include/asm/arch/hardware.h: No such file or directory > >> > >> The folder 'arch/arm/include/asm/arch' is a link for > >> 'arch/arm/include/asm/arch-rockchip', > >> > >> which is dynamic generate by build system, I thinks there should be > >> some dependency issue? > >> > >> How to fix this kind of issue? > >> > >> I am not sure what is going on there. I don't see this. > >> > >> Are you using 'make distclean' or 'make mrproper' on your object tree > >> every now and then? > >> > >> > >> This is happen sometimes in our Jenkins verify, It will gone when I > >> rebase the patch(re-build without any change), we do 'make distclean' > >> every time before a new build. > > > Hmm, I cannot reproduce this error. > > > I have no clue about this. Just for information, I have also the same issue sometime in the same context (Jenkins build) for stm32mp1 board. The error is : "Missing stm32.h file in the directory include/asm/arch/" I try to understood the dependency issue, but I don't found any issue: the needed symbolic link is done just before in the trace of the artifact... 2018-03-03-17-00-02] | if [ -d /opt/STM/workspace/workdir/rdk/build-stm32mp1/tmp-glibc/work/stm32mp1-stm32mpvalid-linux-gnueabi/u-boot-basic-stm32mp/2018.01-git-AUTOINC+d741b91b3c.r0/git/arch/arm/mach-stm32mp/include/mach ]; then \ [2018-03-03-17-00-02] | dest=arch/arm/mach-stm32mp/include/mach; \ [2018-03-03-17-00-02] | else \ [2018-03-03-17-00-02] | dest=arch/arm/include/asm/arch-stm32mp; \ [2018-03-03-17-00-02] | fi; \ [2018-03-03-17-00-02] | ln -fsn /opt/STM/workspace/workdir/rdk/build-stm32mp1/tmp-glibc/work/stm32mp1-stm32mpvalid-linux-gnueabi/u-boot-basic-stm32mp/2018.01-git-AUTOINC+d741b91b3c.r0/git/$dest include/asm/arch [2018-03-03-17-00-02] | fixdep: error opening config file: include/asm/arch/stm32.h: No such file or directory I don't understood why the dependency failed.... Perhaps it is because in our Jenkins task the parallel compilation is requested with high value... (-J 8) and the dependency check is done in parallel of the link creation.... The dependancy are : ./arch/arm/lib/asm-offsets.c => Kbuild with: lib/asm-offsets.s: lib/asm-offsets.c FORCE but the link on the directory is requested only by the rules about config.h not for stm32.h (or hardware.h in your case): ./scripts/Makefile.autoconf:115:include/config.h: scripts/Makefile.autoconf create_symlink FORCE Perhaps add a simple rule in some makefile can solve the issue.... For me include/asm/arch/stm32.h: create_symlink or for you : include/asm/arch/hardware.h: create_symlink or it is better to add generic dependancy in ./scripts/Makefile.autoconf ? include/asm/arch/*.h: create_symlink > -- > Best Regards > Masahiro Yamada Regards Patrick.