[Scons-users] Scons Implicity Dependency not found issue

Hua Yanghao huayanghao at gmail.com
Tue Oct 16 17:00:48 EDT 2018


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20181016/8afcc3e3/attachment-0001.html>


More information about the Scons-users mailing list