jomjol / AI-on-the-edge-device

Easy to use device for connecting "old" measuring units (water, power, gas, ...) to the digital world
https://jomjol.github.io/AI-on-the-edge-device-docs/
5.67k stars 612 forks source link

Problem Compilation #59

Closed jomjol closed 3 years ago

jomjol commented 3 years ago

Hallo jomjol,

ich bekomme den neuen Branch leider nicht compiliert - folgende Fehlermeldung kommt: cmake faselt da was von fehlendem Perl und der Datei ".../code/components/tfmicro/tensorflow/lite/micro/testing/test_conv_model.cc", die es tatsächlich auch nicht gibt...

-- Could NOT find Perl (missing: PERL_EXECUTABLE) -- Adding linker script C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/.pio/build/esp32cam/esp-idf/esp32/esp32_out.ld -- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp32/ld/esp32.project.ld.in -- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp32/ld/esp32.peripherals.ld -- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.ld -- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld -- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld -- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld -- Components: __pio_env app_trace app_update asio bootloader bootloader_support bt cbor coap connect_wlan console cxx driver efuse esp-tls esp32 esp32-camera-master esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_http_client esp_http_server esp_https_ota esp_https_server esp_local_ctrl esp_netif esp_ringbuf esp_rom esp_serial_slave_link esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos heap idf_test jomjol_controlcamera jomjol_fileserver_ota jomjol_flowcontroll jomjol_helper jomjol_image_proc jomjol_logfile jomjol_mqtt jomjol_tfliteclass jomjol_time_sntp jsmn json libsodium log lwip mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table perfmon protobuf-c protocol_examples_common protocomm pthread sdmmc soc spi_flash spiffs src tcp_transport tcpip_adapter tfmicro ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa -- Component paths: C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/.pio/build/esp32cam/__pio_env C:/Users/Martin/.platformio/packages/framework-espidf/components/app_trace C:/Users/Martin/.platformio/packages/framework-espidf/components/app_update C:/Users/Martin/.platformio/packages/framework-espidf/components/asio C:/Users/Martin/.platformio/packages/framework-espidf/components/bootloader C:/Users/Martin/.platformio/packages/framework-espidf/components/bootloader_support C:/Users/Martin/.platformio/packages/framework-espidf/components/bt C:/Users/Martin/.platformio/packages/framework-espidf/components/cbor C:/Users/Martin/.platformio/packages/framework-espidf/components/coap C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/connect_wlan C:/Users/Martin/.platformio/packages/framework-espidf/components/console C:/Users/Martin/.platformio/packages/framework-espidf/components/cxx C:/Users/Martin/.platformio/packages/framework-espidf/components/driver C:/Users/Martin/.platformio/packages/framework-espidf/components/efuse C:/Users/Martin/.platformio/packages/framework-espidf/components/esp-tls C:/Users/Martin/.platformio/packages/framework-espidf/components/esp32 C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/esp32-camera-master C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_adc_cal C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_common C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_eth C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_event C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_gdbstub C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_http_client C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_http_server C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_https_ota C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_https_server C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_local_ctrl C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_netif C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_ringbuf C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_serial_slave_link C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_websocket_client C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_wifi C:/Users/Martin/.platformio/packages/framework-espidf/components/espcoredump C:/Users/Martin/.platformio/packages/framework-espidf/components/esptool_py C:/Users/Martin/.platformio/packages/framework-espidf/components/expat C:/Users/Martin/.platformio/packages/framework-espidf/components/fatfs C:/Users/Martin/.platformio/packages/framework-espidf/components/freemodbus C:/Users/Martin/.platformio/packages/framework-espidf/components/freertos C:/Users/Martin/.platformio/packages/framework-espidf/components/heap C:/Users/Martin/.platformio/packages/framework-espidf/components/idf_test C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_controlcamera C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_fileserver_ota C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_flowcontroll C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_helper C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_image_proc C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_logfile C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_mqtt C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_tfliteclass C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_time_sntp C:/Users/Martin/.platformio/packages/framework-espidf/components/jsmn C:/Users/Martin/.platformio/packages/framework-espidf/components/json C:/Users/Martin/.platformio/packages/framework-espidf/components/libsodium C:/Users/Martin/.platformio/packages/framework-espidf/components/log C:/Users/Martin/.platformio/packages/framework-espidf/components/lwip C:/Users/Martin/.platformio/packages/framework-espidf/components/mbedtls C:/Users/Martin/.platformio/packages/framework-espidf/components/mdns C:/Users/Martin/.platformio/packages/framework-espidf/components/mqtt C:/Users/Martin/.platformio/packages/framework-espidf/components/newlib C:/Users/Martin/.platformio/packages/framework-espidf/components/nghttp C:/Users/Martin/.platformio/packages/framework-espidf/components/nvs_flash C:/Users/Martin/.platformio/packages/framework-espidf/components/openssl C:/Users/Martin/.platformio/packages/framework-espidf/components/partition_table C:/Users/Martin/.platformio/packages/framework-espidf/components/perfmon C:/Users/Martin/.platformio/packages/framework-espidf/components/protobuf-c C:/Users/Martin/.platformio/packages/framework-espidf/examples/common_components/protocol_examples_common C:/Users/Martin/.platformio/packages/framework-espidf/components/protocomm C:/Users/Martin/.platformio/packages/framework-espidf/components/pthread C:/Users/Martin/.platformio/packages/framework-espidf/components/sdmmc C:/Users/Martin/.platformio/packages/framework-espidf/components/soc C:/Users/Martin/.platformio/packages/framework-espidf/components/spi_flash C:/Users/Martin/.platformio/packages/framework-espidf/components/spiffs C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/src C:/Users/Martin/.platformio/packages/framework-espidf/components/tcp_transport C:/Users/Martin/.platformio/packages/framework-espidf/components/tcpip_adapter C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/tfmicro C:/Users/Martin/.platformio/packages/framework-espidf/components/ulp C:/Users/Martin/.platformio/packages/framework-espidf/components/unity C:/Users/Martin/.platformio/packages/framework-espidf/components/vfs C:/Users/Martin/.platformio/packages/framework-espidf/components/wear_levelling C:/Users/Martin/.platformio/packages/framework-espidf/components/wifi_provisioning C:/Users/Martin/.platformio/packages/framework-espidf/components/wpa_supplicant C:/Users/Martin/.platformio/packages/framework-espidf/components/xtensa -- Configuring done

fatal: not a git repository (or any of the parent directories): .git CMake Error at C:/Users/Martin/.platformio/packages/framework-espidf/tools/cmake/component.cmake:468 (add_library): Cannot find source file:

C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/tfmicro/tensorflow/lite/micro/testing/test_conv_model.cc

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx Call Stack (most recent call first): components/tfmicro/CMakeLists.txt:25 (idf_component_register)

CMake Error at C:/Users/Martin/.platformio/packages/framework-espidf/tools/cmake/component.cmake:468 (add_library): No SOURCES given to target: __idf_tfmicro Call Stack (most recent call first): components/tfmicro/CMakeLists.txt:25 (idf_component_register)

CMake Generate step failed. Build files cannot be regenerated correctly.

Originally posted by @LineF in https://github.com/jomjol/AI-on-the-edge-device/issues/40#issuecomment-734498147

jomjol commented 3 years ago

@LineF

Die Versionen deiner Entwicklungstools sind identisch zu meinen. Was ist dein Entwicklungstool: PlatformIO oder esp-idf direkt? Und welche Codeversion genau compilierst du?

Ich verwende PlatformIO mit Win10 und VSCode Editor. ESP-IDF habe ich über das Plugin installiert. Es geht mit wenigen Tricks aber auch direkt mit VSCode und ESP-IDF direkt.

Bei PlatformIO Umgebung, das komplette /code Verzeichnis runterladen, darin dann PlatformIO öffnen und eigentlich sollte es dann laufen. Tricky ist manchmal auch die Einstellung der Python Umgebung, das geht aber über Anaconda oder auch Win10-Python.

Gruß, jomjol

LineF commented 3 years ago

Ich verwende auch PlatformIO auf Windows 10 mit VSCode. Ok, was fehlt, ist die ESP-IDF - die hatte ich bislang nicht benötigt und deshalb auch nicht installiert. Das probier ich jetzt gleich mal.

LineF commented 3 years ago

Bekomme ich gar nicht separat installiert. Bei mir ist ESP32 als Plattform installiert und laut Beschreibung damit auch das ESP-IDF Framework: image

jomjol commented 3 years ago

ja, dass passt schon. Konntest du schon jemals mein Code kompilieren?

LineF commented 3 years ago

ja, auf jeden Fall. Der Branch 707472ba vom 13.11. compiliert - gerade nochmal getestet:

Archiving .pio\build\esp32cam\lib1be\libjomjol_flowcontroll.a Linking .pio\build\esp32cam\firmware.elf Retrieving maximum program size .pio\build\esp32cam\firmware.elf Building .pio\build\esp32cam\firmware.bin Checking size .pio\build\esp32cam\firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [== ] 22.1% (used 72516 bytes from 327680 bytes) Flash: [========= ] 94.1% (used 1830853 bytes from 1945600 bytes)

Auch der derzeitige Master-Branch (3e6713d1) compiliert anstandslos - ebenso gerade getestet.

Switche ich dann auf den rolling Branch (190e7e7), dann kommt der oben beschriebene Fehler - eben auch nochmal getestet.

Zwischen den Compilerläufen eben habe ich immer das Build-Verzeichnis geleert - das führt ja auch manchmal zu Fehlverhalten beim Compilieren.

Martin

jomjol commented 3 years ago

Das ist sehr strange. Ich habe genau das selbe gemacht und bei mir compilieren alle Branches problemlos! Ich bin heute Abend wieder online - dann können wir mal genauer schauen, gerne per telco oder skype.

LineF commented 3 years ago

Ja, gerne - heute gehts bei mir aber nur zwischen ca. 17 und 20 Uhr. Ist PM hier möglich?

jomjol commented 3 years ago

Leider nein - ist echt ein Manko. Ich will meine mail hier nicht posten. Siehst du eine andere Möglichkeit in Kontakt zu kommmen (z.B. PM im iobroker Forum?)

LineF commented 3 years ago

Mit commit 891adf33 ist das Problem nun erledigt. Vielen Dank!

jomjol commented 3 years ago

Danke!