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