Closed teicors closed 4 years ago
For some reason, SDK_BASE isn't set:
- SDK_BASE =
Try export SDK_BASE='$(SMING_HOME)'
.
A mistery... I fixed issuing a
make SDK_BASE='$(SMING_HOME)'
and after I did again a make dist-clean and the SDK_BASE was set !
but I found another problem
AR /opt/sming/Sming/out/Esp8266/debug/lib/clib-Timezone.a
Building /home/angelo/Software/esp8266/project/Cronotermostato_nonos/out/Esp8266/debug/lib/clib-App-460c12fb1423baf1c104e8c750b5b2cd.a
C+ /home/angelo/Software/esp8266/project/Cronotermostato_nonos/app/webserver.cpp
C+ /home/angelo/Software/esp8266/project/Cronotermostato_nonos/app/orologio.cpp
C+ /home/angelo/Software/esp8266/project/Cronotermostato_nonos/app/configuration.cpp
C+ /home/angelo/Software/esp8266/project/Cronotermostato_nonos/app/NtpClientDemo.cpp
C+ /home/angelo/Software/esp8266/project/Cronotermostato_nonos/app/application.cpp
make[1]: *** Nessuna regola per generare l'obiettivo "/opt/sming/Sming/Arch/Esp8266/Components/esp8266/include/c_types.h", necessario per "/opt/sming/Sming/Components/rboot/appcode/rboot-overrides.o". Arresto.
/opt/sming/Sming/project.mk:357: recipe for target 'App-build' failed
make: *** [App-build] Error 2
Does make config-clean
help?
Note: make dist-clean
won't touch ypur project config, that only affects Sming framework and samples.
Oh, and make clean
for your project.
No and I don't understand were the problem lies. Just as a check I compiled Basic_Blink and two my other projects, so the first issue is solved. Now I must find where the dirty chars in the code.
is correct the file /opt/sming/Sming/Components/rboot/appcode/rboot-overrides.c.d , I found
angelo@angelo-thinkpad-x1-carbon-4th:~/Software/esp8266/project/Cronotermostato_nonos$ grep c_types.h /opt/sming/Sming/Components/rboot/appcode/rboot-overrides.c.d
/opt/sming/Sming/Arch/Esp8266/Components/esp8266/include/c_types.h \
/opt/esp-open-sdk/sdk/include/c_types.h \
/opt/sming/Sming/Arch/Esp8266/Components/esp8266/include/c_types.h \
because the error belongs to the compiling of the file /opt/sming/Sming/Components/rboot/appcode/rboot-overrides.o
Hi, I solved. I'm not sure, but I think that you changed something in the logic of the file component.mk: until this morning I compiled with my libs put in different lines, now all libs in one line.
Would you post the old and new files/lines so I can try and reproduce the problem?
Hi, I've found two problems in my config:
angelo@angelo-thinkpad-x1-carbon-4th:/opt/sming/Sming/Components/rboot/appcode$ diff rboot-overrides.c.d_ko rboot-overrides.c.d
8d7
< /opt/sming/Sming/Arch/Esp8266/Components/esp8266/include/c_types.h \
10d8
< /opt/sming/Sming/Arch/Esp8266/Components/esp8266/include/esp_attr.h \
28d25
< /opt/sming/Sming/Arch/Esp8266/Components/esp8266/include/c_types.h \
Now the file don't contains the dirty lines, but I don't know if is related at my editing or not.
COMPONENT_DEPENDS := Default
COMPONENT_DEPENDS := CronLibrary
but now to compile my project I put all libs on a single line
COMPONENT_DEPENDS := Default CronLibrary
and this behavior is confirmed also by
make list-components
I cannot revert to the previous version, but before i can compile my project flawless.
/opt/sming/Sming/Components/rboot/appcode/rboot-overrides.c.d
The '.d' files should be removed before compiling with newer version. This can be done by running:
make dist-clean # to clean the Sming dependency files
make clean # to clean your application dependency files.
Most probably you had an old dep file and that's why the compilation did not work as expected.
That file /opt/sming/Sming/Components/rboot/appcode/rboot-overrides.c.d
shouldn't be there! Please delete it. All .d
files are compiler-generated and should not be in the source tree - please run git status
from your Sming directory to check there aren't any other odd files around.
As written above CronLibrary
would overwrite Default
. This will work:
COMPONENT_DEPENDS := Default
COMPONENT_DEPENDS += CronLibrary
or
COMPONENT_DEPENDS := \
Default \
CronLibrary
Does this make sense?
I did both make dist-clean and clean, but the file .d is still there.
-rw-r--r-- 1 angelo angelo 3732 dic 10 21:18 rboot-overrides.c.d
and git status show the following lines
Components/
Sming/Arch/Esp8266/Components/gdbstub/appcode/gdb_hooks.cpp.d
Sming/Arch/Esp8266/Components/gdbstub/appcode/gdb_hooks.o
Sming/Arch/Esp8266/Components/gdbstub/appcode/gdbstub-entry.o
Sming/Arch/Esp8266/Components/pwm_open/
Sming/Components/rboot/appcode/rboot-overrides.c.d
Sming/Components/rboot/appcode/rboot-overrides.c.d_ko
Sming/Components/rboot/appcode/rboot-overrides.o
Sming/component.mk_old
I know the story about "Sming/component.mk_old" and "Sming/Components/rboot/appcode/rboot-overrides.c.d_ko", but the other lines can be saftley removed (git checkout)?
other lines can be safely removed (git checkout)?
Yes, please remove them. The new build system will only write to the out
directory, there should be nothing added to source directories.
Regarding 2. For me still a mystery: it's important to fix the issue and knowing how solve it. You're right showing me the correct definition, but I can assure you that until yesterday I used a different (and may be wrong) configuration. And it worked! And once again lesson learned ...
git status shows
Sming/Arch/Esp8266/Components/pwm_open/
Should I erase it or not ?
Yes, it's moved into Components/drivers .
Hi, after a git pull I cannot compile anymore. I did aa make dist-clean, but with no luck. My make list-config:
and here's the error