Re: Scons Implicity Dependency not found issue

Bill Deegan <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CGMbci-VRxTfzBCPrCyVF=wO2EdeT0p==A6LtAcRGMtfQ@mail.gmail.com>
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 <[email protected]> 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 <[email protected]>
> 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 <[email protected]> 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 <[email protected]>
>>> 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 <[email protected]>
>>>> wrote:
>>>>
>>>>> no it is static file.
>>>>>
>>>>> On Tue 16. Oct 2018 at 17:08, Bill Deegan <[email protected]>
>>>>> 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 <[email protected]>
>>>>>> 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 <
>>>>>>> [email protected]> 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 <[email protected]>
>>>>>>> wrote:
>>>>>>> >>
>>>>>>> >> By the way, is scons scanner scans C file headers recursively?
>>>>>>> Thanks.
>>>>>>> >> On Tue, Oct 16, 2018 at 12:40 PM Hua Yanghao <
>>>>>>> [email protected]> 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
>>>>>>> >> [email protected]
>>>>>>> >> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>> >
>>>>>>> > _______________________________________________
>>>>>>> > Scons-users mailing list
>>>>>>> > [email protected]
>>>>>>> > https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>> _______________________________________________
>>>>>>> Scons-users mailing list
>>>>>>> [email protected]
>>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Scons-users mailing list
>>>>>> [email protected]
>>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>>
>>>>> _______________________________________________
>>>>> Scons-users mailing list
>>>>> [email protected]
>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>>
>>>> _______________________________________________
>>>> Scons-users mailing list
>>>> [email protected]
>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> [email protected]
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>> _______________________________________________
>> Scons-users mailing list
>> [email protected]
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
> _______________________________________________
> Scons-users mailing list
> [email protected]
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>

_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.