getting started, make errors, path issues?
Thanks again for this really great project and I'm looking forward to using and adding to it. Pardon my getting started with OVMS & esp-idf, I suspect I have an issue with my setup in terms of the path being correctly defined? I attempted to follow the google docs OVMS developer guide, but I must be missing something. The developer guide and the esp-idf instructions seem clear until the esp-idf instructions to run the install.sh script (setting paths, etc), but this script or similar doesn't exist in the openvehicles esp-idf branch? And the openvehicles esp-idf is a few months old, many items from the master esp-idf are different now? does that matter? Do the instructions mean to install and set up the espressif's master esp-idf, and then also clone the openvehicles esp-idf? Because I think that's what I've done. I installed the dependencies and espressif's esp-idf, and am able to flash at least hello_world on a regular esp32 board over USB and the serial terminal works with it. So that seems good. When I try to compile OVMS I get errors that look like I'm missing something. Maybe the something I'm missing is in the openvehicles esp-idf, but my paths are not including it? Is there a script in the openvehicles esp-idf that I need to run? Is it ok to have both versions of esp-idf set up at the same time? First it gives errors about the copyright text to include in the binary? dklein@___:~/Leaf/OVMS/v3/vehicle/OVMS.V3$ make Toolchain path: /home/dklein/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc Toolchain version: esp-2019r2 Compiler version: 8.2.0 Python requirements from /home/dklein/esp/esp-idf/requirements.txt are satisfied. App "ovms3" version: 3.2.008-15-gca307f88 CC /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/app_update/esp_app_desc.o AR /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/app_update/libapp_update.a CC /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/console/argtable3/argtable3.o /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c: In function 'trex_charnode': /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3068:7: warning: this statement ma y fall through [-Wimplicit-fallthrough=] if(!isclass) { ^ /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3074:4: note: here default: ^~~~~~~ At top level: /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:273:19: error: 'rcsid' defined but not used [-Werror=unused-const-variable=] static const char rcsid[]="$Id: getopt_long.c,v 1.1 2009/10/16 19:50:28 rodney Exp rodney $"; ^~~~~ /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c: In function 'trex_compile': /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3466:8: warning: variable 'exp' mi ght be clobbered by 'longjmp' or 'vfork' [-Wclobbered] TRex *exp = (TRex *)malloc(sizeof(TRex)); ^~~ cc1: some warnings being treated as errors /home/dklein/esp/esp-idf/make/component_wrapper.mk:291: recipe for target 'argtable3/argtable3.o' failed make[1]: *** [argtable3/argtable3.o] Error 1 /home/dklein/esp/esp-idf/make/project.mk:610: recipe for target 'component-console-build' failed make: *** [component-console-build] Error 2 dklein@___:~/Leaf/OVMS/v3/vehicle/OVMS.V3$ If I eliminate that error, comment out the lines in argtable3, #ifndef lint static const char rcsid[]="$Id: getopt_long.c,v 1.1 2009/10/16 19:50:28 rodney Exp rodney $"; #endif /* lint */ Then I get same & other warnings, and finally a 'No rule to make target'. dklein@___:~/Leaf/OVMS/v3/vehicle/OVMS.V3$ make Toolchain path: /home/dklein/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc Toolchain version: esp-2019r2 Compiler version: 8.2.0 Python requirements from /home/dklein/esp/esp-idf/requirements.txt are satisfied. App "ovms3" version: 3.2.008-15-gca307f88-dirty CC /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/app_update/esp_app_desc.o AR /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/app_update/libapp_update.a CC /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/build/console/argtable3/argtable3.o /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c: In function 'trex_charnode': /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3068:7: warning: this statement ma y fall through [-Wimplicit-fallthrough=] if(!isclass) { ^ /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3074:4: note: here default: ^~~~~~~ /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c: In function 'trex_compile': /homez/dklein/Documents/Projects/Leaf/OVMS/v3/vehicle/OVMS.V3/components/console/argtable3/argtable3.c:3466:8: warning: variable 'exp' mi ght be clobbered by 'longjmp' or 'vfork' [-Wclobbered] TRex *exp = (TRex *)malloc(sizeof(TRex)); ^~~ make[1]: *** No rule to make target '/homez/dklein/Documents/Projects/vehicles/OVMS/v3/vehicle/OVMS.V3/components/console/split_argv.c', needed by 'split_argv.o'. Stop. /home/dklein/esp/esp-idf/make/project.mk:610: recipe for target 'component-console-build' failed make: *** [component-console-build] Error 2 dklein@___:~/Leaf/OVMS/v3/vehicle/OVMS.V3$ in my .bashrc # added 12/13/19, dklein, add ESP-IDF tools to path . "$HOME/esp/esp-idf/export.sh" which adds to the path as follows. Adding ESP-IDF tools to PATH... Checking if Python packages are up to date... Python requirements from /home/dklein/esp/esp-idf/requirements.txt are satisfied. Added the following directories to PATH: /home/dklein/esp/esp-idf/components/esptool_py/esptool /home/dklein/esp/esp-idf/components/espcoredump /home/dklein/esp/esp-idf/components/partition_table/ /home/dklein/.espressif/tools/xtensa-esp32-elf/esp-2019r2-8.2.0/xtensa-esp32-elf/bin /home/dklein/.espressif/tools/xtensa-esp32s2-elf/esp-2019r2-8.2.0/xtensa-esp32s2-elf/bin /home/dklein/.espressif/tools/esp32ulp-elf/2.28.51.20170517/esp32ulp-elf-binutils/bin /home/dklein/.espressif/tools/openocd-esp32/v0.10.0-esp32-20190708/openocd-esp32/bin /home/dklein/.espressif/python_env/idf4.1_py2.7_env/bin /home/dklein/esp/esp-idf/tools Done! You can now compile ESP-IDF projects. Go to the project directory and run: idf.py build Thanks! Dale
Hah! solved, please disregard my previous message. Well, partly solved, In the OVMS developer guide, 'Please ensure that you have the release version ( of the esp-idf getstarted guide instructions, ie: this link: https://docs.espressif.com/projects/esp-idf/en/release-v3.1/get-started/inde... ) matching the OVMS branch of esp-idf, currently 3.1 I went through the 3.1 version esp-idf setup instructions (installing the older xtensa toolchain alongside the openvehicles esp-idf branch, and setting paths). Following an adventure with older version of pyserial causing an issue, hello_world compiles and works on a plain ESP32 board, using the OVMS esp-idf. Good. Try compiling OVMS, but fails. doa. ~/Leaf/OVMS/v3/vehicle/OVMS.V3$ make Toolchain path: /home/dklein/Leaf/OVMS/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc Toolchain version: crosstool-ng-1.22.0-80-g6c4433a Compiler version: 5.2.0 Python requirements from /homez/dklein/Documents/Projects/Leaf/OVMS/esp-idf/requirements.txt are satisfied. App "ovms3" version: 3.2.008-15-gca307f88-dirty make[1]: *** No rule to make target '/homez/dklein/Documents/Projects/vehicles/OVMS/v3/vehicle/OVMS.V3/components/console/split_argv. c', needed by 'split_argv.o'. Stop. /home/dklein/Documents/Projects/Leaf/OVMS/esp-idf/make/project.mk:552: recipe for target 'component-console-build' failed make: *** [component-console-build] Error 2 Thanks Again, Dale
participants (1)
-
Dale