Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile errors with 2.5 and ESPHome 2024.8.0 #167

Open
redstorm1 opened this issue Aug 25, 2024 · 3 comments
Open

Compile errors with 2.5 and ESPHome 2024.8.0 #167

redstorm1 opened this issue Aug 25, 2024 · 3 comments

Comments

@redstorm1
Copy link

redstorm1 commented Aug 25, 2024

logs_hvac1_run.txt

Fails to build with ESPHome 2024.8.0
see the attached logfile for the build.

@monkeypr00f
Copy link

monkeypr00f commented Aug 26, 2024

Same error for me on 2024.8.0, but it failed on 2024.7.3 too.

In file included from src/esphome.h:32, from src/esphome/components/mitsubishi_heatpump/espmhp.h:20, from src/esphome/components/mitsubishi_heatpump/espmhp.cpp:21: src/esphome/components/mitsubishi_heatpump/espmhp.h:182:14: error: 'optional' in namespace 'std' does not name a template type std::optional<std::chrono::duration<long long, std::ratio<60>>> remote_operating_timeout_; ^~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.h:182:9: note: 'std::optional' is only available from C++17 onwards std::optional<std::chrono::duration<long long, std::ratio<60>>> remote_operating_timeout_; ^~~ src/esphome/components/mitsubishi_heatpump/espmhp.h:183:14: error: 'optional' in namespace 'std' does not name a template type std::optional<std::chrono::duration<long long, std::ratio<60>>> remote_idle_timeout_; ^~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.h:183:9: note: 'std::optional' is only available from C++17 onwards std::optional<std::chrono::duration<long long, std::ratio<60>>> remote_idle_timeout_; ^~~ src/esphome/components/mitsubishi_heatpump/espmhp.h:184:14: error: 'optional' in namespace 'std' does not name a template type std::optional<std::chrono::duration<long long, std::ratio<60>>> remote_ping_timeout_; ^~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.h:184:9: note: 'std::optional' is only available from C++17 onwards std::optional<std::chrono::duration<long long, std::ratio<60>>> remote_ping_timeout_; ^~~ src/esphome/components/mitsubishi_heatpump/espmhp.h:185:14: error: 'optional' in namespace 'std' does not name a template type std::optional<std::chrono::time_point<std::chrono::steady_clock>> last_remote_temperature_sensor_update_; ^~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.h:185:9: note: 'std::optional' is only available from C++17 onwards std::optional<std::chrono::time_point<std::chrono::steady_clock>> last_remote_temperature_sensor_update_; ^~~ src/esphome/components/mitsubishi_heatpump/espmhp.h:186:14: error: 'optional' in namespace 'std' does not name a template type std::optional<std::chrono::time_point<std::chrono::steady_clock>> last_ping_request_; ^~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.h:186:9: note: 'std::optional' is only available from C++17 onwards std::optional<std::chrono::time_point<std::chrono::steady_clock>> last_ping_request_; ^~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp: In member function 'virtual void MitsubishiHeatPump::control(const esphome::climate::ClimateCall&)': src/esphome/components/mitsubishi_heatpump/espmhp.cpp:252:9: error: 'last_remote_temperature_sensor_update_' was not declared in this scope if (last_remote_temperature_sensor_update_.has_value()) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:252:9: note: suggested alternative: 'enforce_remote_temperature_sensor_timeout' if (last_remote_temperature_sensor_update_.has_value()) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enforce_remote_temperature_sensor_timeout src/esphome/components/mitsubishi_heatpump/espmhp.cpp: In member function 'void MitsubishiHeatPump::set_remote_temperature(float)': src/esphome/components/mitsubishi_heatpump/espmhp.cpp:625:9: error: 'last_remote_temperature_sensor_update_' was not declared in this scope last_remote_temperature_sensor_update_ = ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:625:9: note: suggested alternative: 'enforce_remote_temperature_sensor_timeout' last_remote_temperature_sensor_update_ = ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enforce_remote_temperature_sensor_timeout src/esphome/components/mitsubishi_heatpump/espmhp.cpp:628:9: error: 'last_remote_temperature_sensor_update_' was not declared in this scope last_remote_temperature_sensor_update_.reset(); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Compiling .pioenvs/esp32_acmatilde/src/esphome/components/select/select.cpp.o src/esphome/components/mitsubishi_heatpump/espmhp.cpp:628:9: note: suggested alternative: 'enforce_remote_temperature_sensor_timeout' last_remote_temperature_sensor_update_.reset(); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enforce_remote_temperature_sensor_timeout src/esphome/components/mitsubishi_heatpump/espmhp.cpp: In member function 'void MitsubishiHeatPump::ping()': src/esphome/components/mitsubishi_heatpump/espmhp.cpp:636:5: error: 'last_ping_request_' was not declared in this scope last_ping_request_ = std::chrono::steady_clock::now(); ^~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp: In member function 'void MitsubishiHeatPump::set_remote_operating_timeout_minutes(int)': src/esphome/components/mitsubishi_heatpump/espmhp.cpp:641:5: error: 'remote_operating_timeout_' was not declared in this scope remote_operating_timeout_ = std::chrono::minutes(minutes); ^~~~~~~~~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:641:5: note: suggested alternative: 'set_remote_operating_timeout_minutes' remote_operating_timeout_ = std::chrono::minutes(minutes); ^~~~~~~~~~~~~~~~~~~~~~~~~ set_remote_operating_timeout_minutes src/esphome/components/mitsubishi_heatpump/espmhp.cpp: In member function 'void MitsubishiHeatPump::set_remote_idle_timeout_minutes(int)': src/esphome/components/mitsubishi_heatpump/espmhp.cpp:646:5: error: 'remote_idle_timeout_' was not declared in this scope remote_idle_timeout_ = std::chrono::minutes(minutes); ^~~~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:646:5: note: suggested alternative: 'set_timeout' remote_idle_timeout_ = std::chrono::minutes(minutes); ^~~~~~~~~~~~~~~~~~~~ set_timeout src/esphome/components/mitsubishi_heatpump/espmhp.cpp: In member function 'void MitsubishiHeatPump::set_remote_ping_timeout_minutes(int)': src/esphome/components/mitsubishi_heatpump/espmhp.cpp:651:5: error: 'remote_ping_timeout_' was not declared in this scope remote_ping_timeout_ = std::chrono::minutes(minutes); ^~~~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:651:5: note: suggested alternative: 'set_timeout' remote_ping_timeout_ = std::chrono::minutes(minutes); ^~~~~~~~~~~~~~~~~~~~ set_timeout src/esphome/components/mitsubishi_heatpump/espmhp.cpp: In member function 'void MitsubishiHeatPump::enforce_remote_temperature_sensor_timeout()': src/esphome/components/mitsubishi_heatpump/espmhp.cpp:656:9: error: 'remote_ping_timeout_' was not declared in this scope if (remote_ping_timeout_.has_value() && last_ping_request_.has_value()) { ^~~~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:656:9: note: suggested alternative: 'set_timeout' if (remote_ping_timeout_.has_value() && last_ping_request_.has_value()) { ^~~~~~~~~~~~~~~~~~~~ set_timeout src/esphome/components/mitsubishi_heatpump/espmhp.cpp:656:45: error: 'last_ping_request_' was not declared in this scope if (remote_ping_timeout_.has_value() && last_ping_request_.has_value()) { ^~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:669:28: error: 'remote_operating_timeout_' was not declared in this scope this->operating_ ? remote_operating_timeout_ : remote_idle_timeout_; ^~~~~~~~~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:669:28: note: suggested alternative: 'set_remote_operating_timeout_minutes' this->operating_ ? remote_operating_timeout_ : remote_idle_timeout_; ^~~~~~~~~~~~~~~~~~~~~~~~~ set_remote_operating_timeout_minutes src/esphome/components/mitsubishi_heatpump/espmhp.cpp:669:56: error: 'remote_idle_timeout_' was not declared in this scope this->operating_ ? remote_operating_timeout_ : remote_idle_timeout_; ^~~~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:669:56: note: suggested alternative: 'set_timeout' this->operating_ ? remote_operating_timeout_ : remote_idle_timeout_; ^~~~~~~~~~~~~~~~~~~~ set_timeout src/esphome/components/mitsubishi_heatpump/espmhp.cpp:671:13: error: 'last_remote_temperature_sensor_update_' was not declared in this scope last_remote_temperature_sensor_update_.has_value()) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/esphome/components/mitsubishi_heatpump/espmhp.cpp:671:13: note: suggested alternative: 'enforce_remote_temperature_sensor_timeout' last_remote_temperature_sensor_update_.has_value()) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enforce_remote_temperature_sensor_timeout *** [.pioenvs/esp32_acmatilde/src/esphome/components/mitsubishi_heatpump/espmhp.cpp.o] Error 1 ========================= [FAILED] Took 32.40 seconds =========================

@monkeypr00f
Copy link

monkeypr00f commented Aug 28, 2024

Solved using these build options

@redstorm1
Copy link
Author

Solved using these build options

Confirm these build options solved the compile issue.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants