[U-Boot] build fail due to dependence error
Dr. Philipp Tomsich
philipp.tomsich at theobroma-systems.com
Mon Jul 9 08:36:55 UTC 2018
> On 9 Jul 2018, at 09:18, Patrick DELAUNAY <patrick.delaunay at st.com> wrote:
>
>> From: U-Boot <u-boot-bounces at lists.denx.de> 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 <sjg at chromium.org>:
>>> +Masahiro who might know
>>>
>>> On 2 July 2018 at 01:23, Dr. Philipp Tomsich
>>> <philipp.tomsich at theobroma-systems.com> 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 <kever.yang at rock-chips.com> wrote:
>>>>
>>>> Hi Simon,
>>>>
>>>>
>>>> On 06/30/2018 12:19 PM, Simon Glass wrote:
>>>>
>>>> Hi,
>>>>
>>>> On 28 June 2018 at 01:41, Dr. Philipp Tomsich
>>>> <philipp.tomsich at theobroma-systems.com> wrote:
>>>>
>>>> Kever,
>>>>
>>>> is the link for ‘asm’ set up correctly?
>>>>
>>>> Thanks,
>>>> Philipp.
>>>>
>>>> On 28 Jun 2018, at 10:38, Kever Yang <kever.yang at rock-chips.com> 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….
For what it’s worth: I always build with -j8 on my main development system and have
never (my expectation would be that it should have cropped up at least a few times
over the years) encountered this.
> 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.
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
More information about the U-Boot
mailing list