Compiling problem on Nodemcu V1

Moderators: grovkillen, Stuntteam, TD-er

Post Reply
Message
Author
pjcvdpol
New user
Posts: 1
Joined: 10 Dec 2018, 13:25

Compiling problem on Nodemcu V1

#1 Post by pjcvdpol » 10 Dec 2018, 13:31

Greetings!

Yesterday I was able to succesfully flash and use a Nodemcu V1 with the Arduino IDE, Today it fails after several updated on the Arduino libraries.

The errors I get are:

Code: Select all

Arduino: 1.8.7 (Linux), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

WARNING: Category 'LED' in library CHT16K33 LED Matrix Library is not valid. Setting to 'Uncategorized'
WARNING: Category 'Input' in library MechInputs is not valid. Setting to 'Uncategorized'
WARNING: Category 'Input' in library SerialSensors is not valid. Setting to 'Uncategorized'
WARNING: library LiquidCrystal_I2C claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (esp8266) architecture(s).
In file included from /home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/lwip/ip_addr.h:43:0,
                 from /home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/include/user_interface.h:30,
                 from /home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h:29,
                 from /home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/libraries/ESP8266WiFi/src/ESP8266WiFi.h:34,
                 from /home/peter/Documenten/Arduino/ESPEasy/ESPEasy_R120/Source/ESPEasy/ESPEasy.ino:215:
/home/peter/Documenten/Arduino/ESPEasy/ESPEasy_R120/Source/ESPEasy/Networking.ino: In function 'void SSDP_send(byte)':
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/lwip/ip4_addr.h:199:54: error: request for member 'addr' in 'ip', which is of non-class type 'uint32_t {aka unsigned int}'
 #define ip4_addr1(ipaddr) (((const u8_t*)(&(ipaddr)->addr))[0])
                                                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/lwip/ip4_addr.h:205:38: note: in expansion of macro 'ip4_addr1'
 #define ip4_addr1_16(ipaddr) ((u16_t)ip4_addr1(ipaddr))
                                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/arch/cc.h:87:24: note: in expansion of macro 'ip4_addr1_16'
 #define IP2STR(ipaddr) ip4_addr1_16(ipaddr), \
                        ^
/home/peter/Documenten/Arduino/ESPEasy/ESPEasy_R120/Source/ESPEasy/Networking.ino:531:22: note: in expansion of macro 'IP2STR'
                      IP2STR(&ip)
                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/lwip/ip4_addr.h:200:54: error: request for member 'addr' in 'ip', which is of non-class type 'uint32_t {aka unsigned int}'
 #define ip4_addr2(ipaddr) (((const u8_t*)(&(ipaddr)->addr))[1])
                                                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/lwip/ip4_addr.h:206:38: note: in expansion of macro 'ip4_addr2'
 #define ip4_addr2_16(ipaddr) ((u16_t)ip4_addr2(ipaddr))
                                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/arch/cc.h:88:5: note: in expansion of macro 'ip4_addr2_16'
     ip4_addr2_16(ipaddr), \
     ^
/home/peter/Documenten/Arduino/ESPEasy/ESPEasy_R120/Source/ESPEasy/Networking.ino:531:22: note: in expansion of macro 'IP2STR'
                      IP2STR(&ip)
                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/lwip/ip4_addr.h:201:54: error: request for member 'addr' in 'ip', which is of non-class type 'uint32_t {aka unsigned int}'
 #define ip4_addr3(ipaddr) (((const u8_t*)(&(ipaddr)->addr))[2])
                                                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/lwip/ip4_addr.h:207:38: note: in expansion of macro 'ip4_addr3'
 #define ip4_addr3_16(ipaddr) ((u16_t)ip4_addr3(ipaddr))
                                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/arch/cc.h:89:5: note: in expansion of macro 'ip4_addr3_16'
     ip4_addr3_16(ipaddr), \
     ^
/home/peter/Documenten/Arduino/ESPEasy/ESPEasy_R120/Source/ESPEasy/Networking.ino:531:22: note: in expansion of macro 'IP2STR'
                      IP2STR(&ip)
                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/lwip/ip4_addr.h:202:54: error: request for member 'addr' in 'ip', which is of non-class type 'uint32_t {aka unsigned int}'
 #define ip4_addr4(ipaddr) (((const u8_t*)(&(ipaddr)->addr))[3])
                                                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/lwip/ip4_addr.h:208:38: note: in expansion of macro 'ip4_addr4'
 #define ip4_addr4_16(ipaddr) ((u16_t)ip4_addr4(ipaddr))
                                      ^
/home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/tools/sdk/lwip2/include/arch/cc.h:90:5: note: in expansion of macro 'ip4_addr4_16'
     ip4_addr4_16(ipaddr)
     ^
/home/peter/Documenten/Arduino/ESPEasy/ESPEasy_R120/Source/ESPEasy/Networking.ino:531:22: note: in expansion of macro 'IP2STR'
                      IP2STR(&ip)
                      ^
/home/peter/Documenten/Arduino/ESPEasy/ESPEasy_R120/Source/ESPEasy/_C002.ino: In function 'boolean CPlugin_002(byte, EventStruct*, String&)':
_C002:45:9: error: 'StaticJsonBuffer' was not declared in this scope
         StaticJsonBuffer<512> jsonBuffer;
         ^
_C002:45:31: error: 'jsonBuffer' was not declared in this scope
         StaticJsonBuffer<512> jsonBuffer;
                               ^
_C002:48:18: error: 'class ArduinoJson660_0_0::JsonObject' has no member named 'success'
         if (root.success())
                  ^
_C002:121:9: error: 'StaticJsonBuffer' was not declared in this scope
         StaticJsonBuffer<200> jsonBuffer;
         ^
_C002:121:31: error: 'jsonBuffer' was not declared in this scope
         StaticJsonBuffer<200> jsonBuffer;
                               ^
_C002:198:14: error: 'class ArduinoJson660_0_0::JsonObject' has no member named 'printTo'
         root.printTo(json, sizeof(json));
              ^
/home/peter/Documenten/Arduino/ESPEasy/ESPEasy_R120/Source/ESPEasy/_P016_IR.ino: At global scope:
_P016_IR:6:1: error: 'IRrecv' does not name a type
 IRrecv *irReceiver;
 ^
_P016_IR:7:1: error: 'decode_results' does not name a type
 decode_results results;
 ^
/home/peter/Documenten/Arduino/ESPEasy/ESPEasy_R120/Source/ESPEasy/_P016_IR.ino: In function 'boolean Plugin_016(byte, EventStruct*, String&)':
_P016_IR:51:13: error: 'irReceiver' was not declared in this scope
         if (irReceiver == 0 && irPin != -1)
             ^
_P016_IR:54:27: error: expected type-specifier before 'IRrecv'
           irReceiver= new IRrecv(irPin);
                           ^
_P016_IR:54:27: error: expected ';' before 'IRrecv'
_P016_IR:57:13: error: 'irReceiver' was not declared in this scope
         if (irReceiver != 0 && irPin == -1)
             ^
_P016_IR:61:18: error: type '<type error>' argument given to 'delete', expected pointer
           delete irReceiver;
                  ^
_P016_IR:70:13: error: 'irReceiver' was not declared in this scope
         if (irReceiver->decode(&results))
             ^
_P016_IR:70:33: error: 'results' was not declared in this scope
         if (irReceiver->decode(&results))
                                 ^
Multiple libraries were found for "PubSubClient.h"
 Used: /home/peter/Documenten/Arduino/Sketches/libraries/pubsubclient
 Not used: /home/peter/Documenten/Arduino/Sketches/libraries/PubSubClient
Multiple libraries were found for "Servo.h"
 Used: /home/peter/.arduino15/packages/esp8266/hardware/esp8266/2.4.2/libraries/Servo
 Not used: /home/peter/Documenten/Arduino/Sketches/libraries/Servo
 Not used: /home/peter/Documenten/Arduino/arduino-1.8.7/libraries/Servo
exit status 1
'StaticJsonBuffer' was not declared in this scope

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

How to solve this...?

User avatar
ThomasB
Normal user
Posts: 1065
Joined: 17 Jun 2018, 20:41
Location: USA

Re: Compiling problem on Nodemcu V1

#2 Post by ThomasB » 10 Dec 2018, 18:22

It looks like your updates have created several duplicate libraries that are causing the Multiple Libraries warning. So you should prune the duplicates. This will eliminate the warnings.
For example:

Code: Select all

Multiple libraries were found for "PubSubClient.h"
Used:     /home/peter/Documenten/Arduino/Sketches/libraries/pubsubclient
Not used: /home/peter/Documenten/Arduino/Sketches/libraries/PubSubClient
This warning is telling you that there are two different PUBSUBCLIENT libraries on your system with similar folder names. It is only a warning, so compile will still occur.

The error that prevents compiling is probably due to the new IR library that was installed. So delete the new one (leave the old one) and try again.

Any other errors that remain will probably be solved by removing the updated library and re-installing the old one.

- Thomas

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 101 guests