Re: Scons Implicity Dependency not found issue
Hua Yanghao <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <CAPTzt1DOGADks7aUZpMzjv09=aUKsN9_bPe6ovZ+nZRArjtV6g@mail.gmail.com> |
Config.h does not include any other headers. And the problem is it is not easily reproducible. However once it happens it is sticky. I will try harder tomorrow and get back to you. Thanks. On Tue 16. Oct 2018 at 23:06, Bill Deegan <[email protected]> wrote: > 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 > _______________________________________________ Scons-users mailing list [email protected] https://pairlist4.pair.net/mailman/listinfo/scons-users