homieiot / homie-esp8266

💡 ESP8266 framework for Homie, a lightweight MQTT convention for the IoT
http://homieiot.github.io/homie-esp8266
MIT License
1.36k stars 308 forks source link

1.5.0 Will not build with ArduinoJson 5.8.0 #278

Closed jharmn closed 7 years ago

jharmn commented 7 years ago

Building with platformio, worked fine until yesterday (I happened to start a new project right as ArduinoJson dropped 5.8.0, noticed older projects were still working). https://github.com/bblanchon/ArduinoJson/releases/tag/v5.8.0

Workaround:

I deleted .pioenvs, pinned ArduinoJson@5.7.3 in platformio.ini, and it builds fine.

Log (fresh with .piolibdeps deleted):

[Wed Jan  4 23:46:02 2017] Processing d1_mini (platform: espressif8266, lib_deps: Homie@1.5.0, DallasTemperature@3.7.7, board: d1_mini, framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
LibraryManager: Installing id=555 @ 1.5.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Homie @ 1.5.0 has been successfully installed!
LibraryManager: Installing id=64
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
ArduinoJson @ 5.8.0 has been successfully installed!
LibraryManager: Installing id=89
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
PubSubClient @ 2.6 has been successfully installed!
LibraryManager: Installing id=1106
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Bounce2 @ 2.1 has been successfully installed!
LibraryManager: Installing id=54 @ 3.7.7
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
DallasTemperature @ 3.7.7 has been successfully installed!
LibraryManager: Installing id=1
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
OneWire @ 2.3.2 has been successfully installed!
Verbose mode can be enabled via `-v, --verbose` option
Collected 29 compatible libraries
Looking for dependencies...
Library Dependency Graph
|-- <Homie> v1.5.0
|   |-- <ArduinoJson> v5.8.0
|   |-- <PubSubClient> v2.6
|   |-- <Bounce2> v2.1
|   |-- <ESP8266WiFi> v1.0
|   |-- <ESP8266mDNS>
|   |   |-- <ESP8266WiFi> v1.0
|   |-- <DNSServer> v1.1.0
|   |   |-- <ESP8266WiFi> v1.0
|   |-- <ESP8266WebServer> v1.0
|   |   |-- <ESP8266WiFi> v1.0
|   |-- <ESP8266httpUpdate> v1.1
|   |   |-- <ESP8266HTTPClient> v1.1
|   |   |   |-- <ESP8266WiFi> v1.0
|   |   |-- <ESP8266WiFi> v1.0
|   |-- <Ticker> v1.0
|-- <DallasTemperature> v3.7.7
|   |-- <OneWire> v2.3.2
|-- <OneWire> v2.3.2
Compiling .pioenvs/d1_mini/src/main.o
Archiving .pioenvs/d1_mini/libFrameworkArduinoVariant.a
Indexing .pioenvs/d1_mini/libFrameworkArduinoVariant.a
Compiling .pioenvs/d1_mini/FrameworkArduino/Esp.o
Compiling .pioenvs/d1_mini/FrameworkArduino/FS.o
Compiling .pioenvs/d1_mini/FrameworkArduino/HardwareSerial.o
Compiling .pioenvs/d1_mini/FrameworkArduino/IPAddress.o
Compiling .pioenvs/d1_mini/FrameworkArduino/MD5Builder.o
Compiling .pioenvs/d1_mini/FrameworkArduino/Print.o
Compiling .pioenvs/d1_mini/FrameworkArduino/Schedule.o
Compiling .pioenvs/d1_mini/FrameworkArduino/Stream.o
Compiling .pioenvs/d1_mini/FrameworkArduino/StreamString.o
Compiling .pioenvs/d1_mini/FrameworkArduino/Tone.o
Compiling .pioenvs/d1_mini/FrameworkArduino/Updater.o
Compiling .pioenvs/d1_mini/FrameworkArduino/WMath.o
Compiling .pioenvs/d1_mini/FrameworkArduino/WString.o
Compiling .pioenvs/d1_mini/FrameworkArduino/abi.o
Compiling .pioenvs/d1_mini/FrameworkArduino/base64.o
Compiling .pioenvs/d1_mini/FrameworkArduino/cbuf.o
Compiling .pioenvs/d1_mini/FrameworkArduino/cont.o
Compiling .pioenvs/d1_mini/FrameworkArduino/cont_util.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_eboot_command.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_flash_utils.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_i2s.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_main.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_noniso.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_phy.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_postmortem.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_si2c.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_timer.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_wiring.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_wiring_analog.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_wiring_digital.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_wiring_pulse.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_wiring_pwm.o
Compiling .pioenvs/d1_mini/FrameworkArduino/core_esp8266_wiring_shift.o
Compiling .pioenvs/d1_mini/FrameworkArduino/debug.o
Compiling .pioenvs/d1_mini/FrameworkArduino/heap.o
Compiling .pioenvs/d1_mini/FrameworkArduino/libb64/cdecode.o
Compiling .pioenvs/d1_mini/FrameworkArduino/libb64/cencode.o
Compiling .pioenvs/d1_mini/FrameworkArduino/libc_replacements.o
Compiling .pioenvs/d1_mini/FrameworkArduino/pgmspace.o
Compiling .pioenvs/d1_mini/FrameworkArduino/setjmp.o
Compiling .pioenvs/d1_mini/FrameworkArduino/spiffs/spiffs_cache.o
Compiling .pioenvs/d1_mini/FrameworkArduino/spiffs/spiffs_check.o
Compiling .pioenvs/d1_mini/FrameworkArduino/spiffs/spiffs_gc.o
Compiling .pioenvs/d1_mini/FrameworkArduino/spiffs/spiffs_hydrogen.o
Compiling .pioenvs/d1_mini/FrameworkArduino/spiffs/spiffs_nucleus.o
Compiling .pioenvs/d1_mini/FrameworkArduino/spiffs_api.o
Compiling .pioenvs/d1_mini/FrameworkArduino/spiffs_hal.o
Compiling .pioenvs/d1_mini/FrameworkArduino/time.o
Compiling .pioenvs/d1_mini/FrameworkArduino/uart.o
Compiling .pioenvs/d1_mini/FrameworkArduino/umm_malloc/umm_malloc.o
Archiving .pioenvs/d1_mini/lib/libArduinoJson_ID64.a
Indexing .pioenvs/d1_mini/lib/libArduinoJson_ID64.a
Compiling .pioenvs/d1_mini/lib/PubSubClient_ID89/PubSubClient.o
Compiling .pioenvs/d1_mini/lib/Bounce2_ID1106/Bounce2.o
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/ESP8266WiFi.o
Archiving .pioenvs/d1_mini/lib/libBounce2_ID1106.a
Indexing .pioenvs/d1_mini/lib/libBounce2_ID1106.a
Archiving .pioenvs/d1_mini/libFrameworkArduino.a
Indexing .pioenvs/d1_mini/libFrameworkArduino.a
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/ESP8266WiFiAP.o
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/ESP8266WiFiGeneric.o
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/ESP8266WiFiMulti.o
Archiving .pioenvs/d1_mini/lib/libPubSubClient_ID89.a
Indexing .pioenvs/d1_mini/lib/libPubSubClient_ID89.a
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/ESP8266WiFiSTA.o
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/ESP8266WiFiScan.o
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/WiFiClient.o
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/WiFiClientSecure.o
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/WiFiServer.o
Compiling .pioenvs/d1_mini/lib/ESP8266WiFi/WiFiUdp.o
Compiling .pioenvs/d1_mini/lib/ESP8266mDNS/ESP8266mDNS.o
Compiling .pioenvs/d1_mini/lib/DNSServer/DNSServer.o
Compiling .pioenvs/d1_mini/lib/ESP8266WebServer/ESP8266WebServer.o
Archiving .pioenvs/d1_mini/lib/libDNSServer.a
Archiving .pioenvs/d1_mini/lib/libESP8266WiFi.a
Indexing .pioenvs/d1_mini/lib/libDNSServer.a
Indexing .pioenvs/d1_mini/lib/libESP8266WiFi.a
Compiling .pioenvs/d1_mini/lib/ESP8266WebServer/Parsing.o
Compiling .pioenvs/d1_mini/lib/ESP8266HTTPClient/ESP8266HTTPClient.o
Compiling .pioenvs/d1_mini/lib/ESP8266httpUpdate/ESP8266httpUpdate.o
Archiving .pioenvs/d1_mini/lib/libESP8266mDNS.a
Indexing .pioenvs/d1_mini/lib/libESP8266mDNS.a
Compiling .pioenvs/d1_mini/lib/Ticker/Ticker.o
Archiving .pioenvs/d1_mini/lib/libESP8266WebServer.a
Indexing .pioenvs/d1_mini/lib/libESP8266WebServer.a
Archiving .pioenvs/d1_mini/lib/libTicker.a
Indexing .pioenvs/d1_mini/lib/libTicker.a
Compiling .pioenvs/d1_mini/lib/Homie_ID555/Homie.o
Archiving .pioenvs/d1_mini/lib/libESP8266HTTPClient.a
Compiling .pioenvs/d1_mini/lib/Homie_ID555/Homie/Blinker.o
Indexing .pioenvs/d1_mini/lib/libESP8266HTTPClient.a
Compiling .pioenvs/d1_mini/lib/Homie_ID555/Homie/Boot/Boot.o
In file included from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/StringTraits.hpp:37:0,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/DynamicStringBuilder.hpp:11,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/JsonPrintable.hpp:13,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../JsonVariantBase.hpp:12,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../JsonVariant.hpp:16,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../JsonBuffer.hpp:14,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/JsonParser.hpp:10,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonBufferBase.hpp:10,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/DynamicJsonBuffer.hpp:10,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.hpp:10,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.h:8,
from .piolibdeps/ArduinoJson_ID64/ArduinoJson.h:8,
from .piolibdeps/Homie_ID555/src/Homie/Datatypes/../Limits.hpp:3,
from .piolibdeps/Homie_ID555/src/Homie/Datatypes/Interface.hpp:3,
from .piolibdeps/Homie_ID555/src/Homie/Blinker.hpp:4,
from .piolibdeps/Homie_ID555/src/Homie/Blinker.cpp:1:
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:19:5: error: 'Stream' does not name a type
Stream& _stream;
^
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:22:20: error: expected ')' before '&' token
Iterator(Stream& stream) : _stream(stream) {}
^
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp: In member function 'char ArduinoJson::Internals::StdStreamFuncs::Iterator::next()':
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:25:15: error: '_stream' was not declared in this scope
int n = _stream.read();
^
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp: At global scope:
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:35:24: error: 'Stream' was not declared in this scope
Stream, typename TypeTraits::RemoveReference<
^
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:36:50: error: template argument 1 is invalid
TStream>::type>::value>::type>
^
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:36:58: error: template argument 1 is invalid
TStream>::type>::value>::type>
^
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:36:65: error: template argument 2 is invalid
TStream>::type>::value>::type>
^
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:37:5: error: expected '::' before ':' token
: StdStreamFuncs {};
^
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:37:5: error: expected identifier before ':' token
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:37:5: error: qualified name does not name a class before ':' token
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:37:5: error: expected '{' before ':' token
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Deserialization/../Serialization/../StringTraits/ArduinoStream.hpp:37:5: error: expected unqualified-id before ':' token
Archiving .pioenvs/d1_mini/lib/libESP8266httpUpdate.a
Indexing .pioenvs/d1_mini/lib/libESP8266httpUpdate.a
Compiling .pioenvs/d1_mini/lib/Homie_ID555/Homie/Boot/BootConfig.o
*** [.pioenvs/d1_mini/lib/Homie_ID555/Homie/Blinker.o] Error 1
marvinroger commented 7 years ago

@jharmn can you please try with ArduinoJson 5.8.2? If it does not solve the issue, can you open an issue on the ArduinoJson repo and post the link here? Thanks!

amayii0 commented 7 years ago

Had issue, confirmed in 5.8.0 see https://github.com/bblanchon/ArduinoJson/issues/412

marvinroger commented 7 years ago

Awesome, thanks!