[Scons-users] Scons Implicity Dependency not found issue

Bill Deegan bill at baddogconsulting.com
Tue Oct 16 17:06:31 EDT 2018


Try running with

--taskmastertrace=trace.log

You'll get a pretty verbose log there, and search for io.h it should show
more information about what's happening.

Is io.h included via "-include config.h" ?

-Bill

On Tue, Oct 16, 2018 at 5:01 PM Hua Yanghao <huayanghao at gmail.com> wrote:

> Hi Bill,
> Sorry I missed that one.
>
> The full command line when hit the failure:
> gcc -o build/configs/pangu/usw/firmware/arch/pangu/test.os -c -g -Wall
> -Werror -include config.h -Wno-error=main -Wno-main -Wno-format-security
> -Wno-format -std=gnu99 -D_USW_FLAGS_TEST_0 -D_USW_FLAGS_TEST_1
> -D_USW_FLAGS_TEST_2 -fPIC -Ibuild/configs/pangu/usw/config
> -Ibuild/configs/pangu/usw/firmware/arch/pangu/include
> -Ibuild/configs/pangu/usw/firmware/include
> -Ibuild/configs/pangu/usw/firmware/arch/include
> -Ibuild/configs/pangu/usw/firmware/common/include
> -Ibuild/configs/pangu/usw/firmware/lib/cmd/include
> -Ibuild/configs/pangu/usw/firmware/lib/simple_pipe/include
> -Ibuild/configs/pangu/usw/firmware/lib/fio/include
> -Ibuild/configs/pangu/usw/firmware/lib/simple_console/include
> -Ibuild/configs/pangu/usw/firmware/test/example/include
> -Ibuild/configs/pangu/usw/firmware/test/console/include
> -Ibuild/configs/pangu/usw/firmware/boards/include
> -Ibuild/configs/pangu/usw/firmware/boards/pangu/include
> -Ibuild/configs/pangu/usw/firmware/drivers/pcie/include
> -Ibuild/configs/pangu/usw/config
> -Ibuild/configs/pangu/usw/firmware/arch/pangu/include
> -Ibuild/configs/pangu/usw/firmware/include
> -Ibuild/configs/pangu/usw/firmware/arch/include
> -Ibuild/configs/pangu/usw/firmware/common/include
> -Ibuild/configs/pangu/usw/firmware/lib/cmd/include
> -Ibuild/configs/pangu/usw/firmware/lib/simple_pipe/include
> -Ibuild/configs/pangu/usw/firmware/lib/fio/include
> -Ibuild/configs/pangu/usw/firmware/lib/simple_console/include
> -Ibuild/configs/pangu/usw/firmware/test/example/include
> -Ibuild/configs/pangu/usw/firmware/test/console/include
> -Ibuild/configs/pangu/usw/firmware/boards/include
> -Ibuild/configs/pangu/usw/firmware/boards/pangu/include
> -Ibuild/configs/pangu/usw/firmware/drivers/pcie/include
> build/configs/pangu/usw/firmware/arch/pangu/test.c
>
> And my CPPPATH seems also matching the command line:
> ['/home/hua/git/usw/build/configs/pangu/usw/config',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/arch/pangu/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/arch/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/common/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/lib/cmd/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/lib/simple_pipe/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/lib/fio/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/lib/simple_console/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/test/example/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/test/console/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/boards/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/boards/pangu/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/drivers/pcie/include',
> '/home/hua/git/usw/build/configs/pangu/usw/config',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/arch/pangu/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/arch/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/common/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/lib/cmd/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/lib/simple_pipe/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/lib/fio/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/lib/simple_console/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/test/example/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/test/console/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/boards/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/boards/pangu/include',
> '/home/hua/git/usw/build/configs/pangu/usw/firmware/drivers/pcie/include']
>
> Note the firmware/include is in both command line and CPPPATH, that's
> where my io.h is located.
>
> Best Regards,
> Yanghao
>
>
> On Tue, Oct 16, 2018 at 8:07 PM Bill Deegan <bill at baddogconsulting.com>
> wrote:
>
>> You've still not replied with the compile command line.
>> Also what's your CPPPATH?
>>
>>
>> On Tue, Oct 16, 2018 at 1:25 PM Hua Yanghao <huayanghao at gmail.com> wrote:
>>
>>> it is the correct path and io.h is actually duplicated from
>>> firmware/include/io.h
>>>
>>> On Tue 16. Oct 2018 at 17:34, Bill Deegan <bill at baddogconsulting.com>
>>> wrote:
>>>
>>>> Is `build/configs/pangu/usw/firmware/arch/pangu/include/io.h' the
>>>> correct path to io.h?
>>>> Are you using duplicate=0, or not specifying in you SConscript()?
>>>> Are you using chdir somewhere in your SCons logic?
>>>>
>>>> Also, please paste the compile line for the compile which should find
>>>> io.h when it's passing?
>>>>
>>>> On Tue, Oct 16, 2018 at 11:14 AM Hua Yanghao <huayanghao at gmail.com>
>>>> wrote:
>>>>
>>>>> no it is static file.
>>>>>
>>>>> On Tue 16. Oct 2018 at 17:08, Bill Deegan <bill at baddogconsulting.com>
>>>>> wrote:
>>>>>
>>>>>> Is io.h a generated file?
>>>>>> Paste the compile line for the compile which should find io.h when
>>>>>> it's passing?
>>>>>>
>>>>>>
>>>>>> On Tue, Oct 16, 2018 at 8:54 AM Hua Yanghao <huayanghao at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Bill,
>>>>>>> Yes io.h is on my CPPPATH. And I am using variant_dir="build" for
>>>>>>> SConscript files. So normally all used header files will end up in
>>>>>>> the
>>>>>>> build folder too. But occasionally scons seems missed it. I am
>>>>>>> struggling to reproduce it ...
>>>>>>>
>>>>>>> BR, Yanghao
>>>>>>> On Tue, Oct 16, 2018 at 2:51 PM Bill Deegan <
>>>>>>> bill at baddogconsulting.com> wrote:
>>>>>>> >
>>>>>>> > Yes. Headers are scanned recursively.
>>>>>>> > Implicit cache should only be enable by command line flag or
>>>>>>> SetOption()
>>>>>>> >
>>>>>>> > Where is io.h located? is it in your CPPPATH?
>>>>>>> >
>>>>>>> > On Tue, Oct 16, 2018 at 6:43 AM Hua Yanghao <huayanghao at gmail.com>
>>>>>>> wrote:
>>>>>>> >>
>>>>>>> >> By the way, is scons scanner scans C file headers recursively?
>>>>>>> Thanks.
>>>>>>> >> On Tue, Oct 16, 2018 at 12:40 PM Hua Yanghao <
>>>>>>> huayanghao at gmail.com> wrote:
>>>>>>> >> >
>>>>>>> >> > scons: *** [build/configs/pangu/usw/firmware/arch/pangu/test.os]
>>>>>>> >> > Implicit dependency
>>>>>>> >> > `build/configs/pangu/usw/firmware/arch/pangu/include/io.h' not
>>>>>>> found,
>>>>>>> >> > needed by target
>>>>>>> `build/configs/pangu/usw/firmware/arch/pangu/test.os'
>>>>>>> >> >
>>>>>>> >> > I recently run into this odd problem, and it is very difficult
>>>>>>> to
>>>>>>> >> > reproduce. I did not explicitly enable the "implicit_cache"
>>>>>>> option
>>>>>>> >> > anywhere in my code. If I simply remove the build folder and
>>>>>>> then
>>>>>>> >> > re-build everything works as normal. the problem happens when
>>>>>>> there is
>>>>>>> >> > a old build, and then I pulled in some new code where this
>>>>>>> "test.c"
>>>>>>> >> > has included an additional header io.h and scons seems not
>>>>>>> re-scanning
>>>>>>> >> > the file by default.
>>>>>>> >> >
>>>>>>> >> > I am using scons 3.0.1, is the implict_cache by default enabled
>>>>>>> there
>>>>>>> >> > and I have to disable it manually?
>>>>>>> >> >
>>>>>>> >> > Thanks,
>>>>>>> >> > Yanghao Hua
>>>>>>> >> _______________________________________________
>>>>>>> >> Scons-users mailing list
>>>>>>> >> Scons-users at scons.org
>>>>>>> >> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>> >
>>>>>>> > _______________________________________________
>>>>>>> > Scons-users mailing list
>>>>>>> > Scons-users at scons.org
>>>>>>> > https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>> _______________________________________________
>>>>>>> Scons-users mailing list
>>>>>>> Scons-users at scons.org
>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Scons-users mailing list
>>>>>> Scons-users at scons.org
>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>
>>>>> _______________________________________________
>>>>> Scons-users mailing list
>>>>> Scons-users at scons.org
>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>
>>>> _______________________________________________
>>>> Scons-users mailing list
>>>> Scons-users at scons.org
>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20181016/1f862acb/attachment.html>


More information about the Scons-users mailing list