uriyacovy / ESPHome_nuki_lock

ESPHome lock platform for Nuki Smartlock
MIT License
62 stars 20 forks source link

Problems in compiling #52

Closed masafra86 closed 1 month ago

masafra86 commented 1 month ago

I used the configuration on the github, and while compiling I had this log:

INFO ESPHome 2024.7.1 INFO Reading configuration /config/esphome/nuki-bridge.yaml... WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version. WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version. INFO Generating C++ source... INFO Compiling app... Processing nuki-bridge (board: esp32dev; framework: arduino; platform: platformio/espressif32@6.7.0)

HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash

.piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:386:5: std::list listOfKeyPadEntries; ^~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:387:10: error: 'list' in namespace 'std' does not name a template type std::list listOfAuthorizationEntries; ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:387:5: note: 'std::list' is defined in header ''; did you forget to '#include '? std::list listOfAuthorizationEntries; ^~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:316:10: error: 'void Nuki::NukiBle::onDisconnect(NimBLEClient)' marked 'override', but does not override void onDisconnect(BLEClient) override; ^~~~ Compiling .pioenvs/nuki-bridge/lib118/NimBLE-Arduino@src-5c9866cf064444db58eab10c8b1ed41c/NimBLERemoteCharacteristic.cpp.o In file included from src/esphome/components/nuki_lock/nuki_lock.h:10, from src/esphome/components/nuki_lock/nuki_lock.cpp:2: .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:257:37: error: 'std::list' has not been declared void getTimeControlEntries(std::list timeControlEntries); ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:257:41: error: expected ',' or '...' before '<' token void getTimeControlEntries(std::list timeControlEntries); ^ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:264:29: error: 'std::list' has not been declared void getLogEntries(std::list requestedLogEntries); ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:264:33: error: expected ',' or '...' before '<' token void getLogEntries(std::list requestedLogEntries); ^ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:349:10: error: 'list' in namespace 'std' does not name a template type std::list listOfTimeControlEntries; ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:349:5: note: 'std::list' is defined in header ''; did you forget to '#include '? .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:6:1: +#include

.piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:349:5: std::list listOfTimeControlEntries; ^~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:350:10: error: 'list' in namespace 'std' does not name a template type std::list listOfLogEntries; ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:350:5: note: 'std::list' is defined in header ''; did you forget to '#include '? std::list listOfLogEntries; ^~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:351:10: error: 'list' in namespace 'std' does not name a template type std::list listOfAuthorizationEntries; ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:351:5: note: 'std::list' is defined in header ''; did you forget to '#include '? std::list listOfAuthorizationEntries; ^~~ Compiling .pioenvs/nuki-bridge/lib118/NimBLE-Arduino@src-5c9866cf064444db58eab10c8b1ed41c/NimBLERemoteDescriptor.cpp.o src/esphome/components/nuki_lock/nuki_lock.cpp: In member function 'void esphome::nuki_lock::NukiLockComponent::print_keypad_entries()': src/esphome/components/nuki_lock/nuki_lock.cpp:425:14: error: 'list' is not a member of 'std' std::list entries; ^~~~ src/esphome/components/nuki_lock/nuki_lock.cpp:425:14: note: 'std::list' is defined in header ''; did you forget to '#include '? src/esphome/components/nuki_lock/nuki_lock.cpp:3:1: +#include

src/esphome/components/nuki_lock/nuki_lock.cpp:425:14: std::list entries; ^~~~ src/esphome/components/nuki_lock/nuki_lock.cpp:425:40: error: expected primary-expression before '>' token std::list entries; ^ src/esphome/components/nuki_lock/nuki_lock.cpp:425:42: error: 'entries' was not declared in this scope std::list entries; ^~~ src/esphome/components/nuki_lock/nuki_lock.cpp:432:34: error: unable to deduce 'auto&&' from 'entries' for (const auto& entry : entries) { ^~~ Compiling .pioenvs/nuki-bridge/lib118/NimBLE-Arduino@src-5c9866cf064444db58eab10c8b1ed41c/NimBLERemoteService.cpp.o Compiling .pioenvs/nuki-bridge/lib118/NimBLE-Arduino@src-5c9866cf064444db58eab10c8b1ed41c/NimBLEScan.cpp.o Compiling .pioenvs/nuki-bridge/lib118/NimBLE-Arduino@src-5c9866cf064444db58eab10c8b1ed41c/NimBLEServer.cpp.o Compiling .pioenvs/nuki-bridge/lib118/NimBLE-Arduino@src-5c9866cf064444db58eab10c8b1ed41c/NimBLEService.cpp.o Compiling .pioenvs/nuki-bridge/lib118/NimBLE-Arduino@src-5c9866cf064444db58eab10c8b1ed41c/NimBLEUUID.cpp.o Compiling .pioenvs/nuki-bridge/lib118/NimBLE-Arduino@src-5c9866cf064444db58eab10c8b1ed41c/NimBLEUtils.cpp.o Compiling .pioenvs/nuki-bridge/lib118/NimBLE-Arduino@src-5c9866cf064444db58eab10c8b1ed41c/nimble/esp_port/esp-hci/src/esp_nimble_hci.c.o ** [.pioenvs/nuki-bridge/src/esphome/components/nuki_lock/nuki_lock.cpp.o] Error 1 In file included from .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:3, from src/esphome/components/nuki_lock/nuki_lock.h:10, from src/esphome.h:30, from src/main.cpp:3: .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:140:32: error: 'std::list' has not been declared void getKeypadEntries(std::list requestedKeyPadEntries); ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:140:36: error: expected ',' or '...' before '<' token void getKeypadEntries(std::list requestedKeyPadEntries); ^ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:162:39: error: 'std::list' has not been declared void getAuthorizationEntries(std::list requestedAuthorizationEntries); ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:162:43: error: expected ',' or '...' before '<' token void getAuthorizationEntries(std::list* requestedAuthorizationEntries); ^ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:386:10: error: 'list' in namespace 'std' does not name a template type std::list listOfKeyPadEntries; ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:386:5: note: 'std::list' is defined in header ''; did you forget to '#include '? .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:22:1: +#include

.piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:386:5: std::list listOfKeyPadEntries; ^~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:387:10: error: 'list' in namespace 'std' does not name a template type std::list listOfAuthorizationEntries; ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:387:5: note: 'std::list' is defined in header ''; did you forget to '#include '? std::list listOfAuthorizationEntries; ^~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiBle.h:316:10: error: 'void Nuki::NukiBle::onDisconnect(NimBLEClient)' marked 'override', but does not override void onDisconnect(BLEClient) override; ^~~~ In file included from src/esphome/components/nuki_lock/nuki_lock.h:10, from src/esphome.h:30, from src/main.cpp:3: .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:257:37: error: 'std::list' has not been declared void getTimeControlEntries(std::list timeControlEntries); ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:257:41: error: expected ',' or '...' before '<' token void getTimeControlEntries(std::list timeControlEntries); ^ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:264:29: error: 'std::list' has not been declared void getLogEntries(std::list requestedLogEntries); ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:264:33: error: expected ',' or '...' before '<' token void getLogEntries(std::list requestedLogEntries); ^ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:349:10: error: 'list' in namespace 'std' does not name a template type std::list listOfTimeControlEntries; ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:349:5: note: 'std::list' is defined in header ''; did you forget to '#include '? .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:6:1: +#include

.piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:349:5: std::list listOfTimeControlEntries; ^~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:350:10: error: 'list' in namespace 'std' does not name a template type std::list listOfLogEntries; ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:350:5: note: 'std::list' is defined in header ''; did you forget to '#include '? std::list listOfLogEntries; ^~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:351:10: error: 'list' in namespace 'std' does not name a template type std::list listOfAuthorizationEntries; ^~~~ .piolibdeps/nuki-bridge/NukiBleEsp/src/NukiLock.h:351:5: note: 'std::list' is defined in header ''; did you forget to '#include '? std::list listOfAuthorizationEntries; ^~~ *** [.pioenvs/nuki-bridge/src/main.cpp.o] Error 1 ========================== [FAILED] Took 3.40 seconds ==========================

I don't know where and if should I make corrections

uriyacovy commented 1 month ago

Change
- https://github.com/h2zero/NimBLE-Arduino to
- https://github.com/h2zero/NimBLE-Arduino#1.4.0 See here https://github.com/uriyacovy/ESPHome_nuki_lock/issues/51