Re: Scons Implicity Dependency not found issue
Hua Yanghao <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <CAPTzt1DMsd58sFW7uVmvVqycAY37hJL9EtSrSG1-M7_PSvOHVw@mail.gmail.com> |
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