Error: logical not is only applied to the left hand side of comparison

Hi all!

I am making an anemometer project! It connects to wifi (if the network is available), and starts a AP on startup, that way I can see the webpage that displays the wind speed. Fairly simple, right?

Now, I just added Adafruit_IO to it, that way I can see past wind data on a chart, but it fails to compile! I kind of understand the error, but I am not sure why or how it is caused, or how to fix it.

Here is the error:

/Users/user/Documents/Arduino/libraries/ArduinoHttpClient/src/HttpClient.cpp: In member function 'int HttpClient::startRequest(const char*, const char*, const char*, int, const byte*)':
/Users/user/Documents/Arduino/libraries/ArduinoHttpClient/src/HttpClient.cpp:87:61: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses]
if (!iClient->connect(iServerName, iServerPort) > 0)
^
/Users/user/Documents/Arduino/libraries/ArduinoHttpClient/src/HttpClient.cpp:97:64: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses]
if (!iClient->connect(iServerAddress, iServerPort) > 0)
^
cc1plus: some warnings being treated as errors

Here is my code:

#include "AdafruitIO_WiFi.h"
#include <Arduino.h>
#include <WiFi.h>
#include <Hash.h>
#include <AsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <ArduinoOTA.h>

#define uS_TO_S_FACTOR 1000000

#define IO_USERNAME  "***********"
#define IO_KEY       "***_********************"

const char* ssid = "***************";
const char* password = "********";
const char *soft_ap_ssid          = "Anemometer";
const char *soft_ap_password      = "********";

#define WINDPIN A0     // Digital pin connected to the DHT sensor

float windspeed;
float windspeedavg;

float windspeedsum = 0;
int windspeedreadnum = 5;
int timebetweenread = 100;
int currentreading = 0;

unsigned long lastreading = 0;

float windR1 = 4700.0;
float windR2 = 2700.0;

float topwindspeed = 0;
float lasttopwindspeed = 0;

int topwindspeederaseint = 1000*60*15; //15 minutes

unsigned long lastuploadmillis = 0;

bool wificonnected = false;

// Create AsyncWebServer object on port 80
AsyncWebServer server(80);
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, ssid, password);
AdafruitIO_Feed *windspeedfeed = io.feed("windspeed");
AdafruitIO_Feed *topwindspeedfeed = io.feed("topwindspeed");

void getWindReadings(){
  float windvolt = (analogRead(WINDPIN) * 3.3) / 4095.0;
  windvolt = windvolt / (windR2/(windR1+windR2));
  windvolt = windvolt*100; 
  windspeed = map(windvolt,0,500,0,3000);
  windspeed = windspeed/100;
  windvolt = windvolt/100;
  windspeed = windspeed*2.237;
  
  if (currentreading < windspeedreadnum){
    if (millis() - lastreading > timebetweenread){
      windspeedsum += windspeed;
      currentreading++;
      lastreading = millis();
    }
  }
  else {
    windspeedavg = windspeedsum/windspeedreadnum;
    Serial.println("Windspeed = " + String(windspeedavg) + " mph");
    
    if (wificonnected){
      if (millis() - lastuploadmillis > 5000){
        windspeedfeed->save(windspeedavg);
        lastuploadmillis = millis();
      }
    }
    /*if (windspeedavg == 0.00){
      esp_deep_sleep_start();
    }*/
    windspeedsum = 0;
    currentreading = 0;
  }

  if (windspeed > topwindspeed){
    topwindspeed = windspeed;
    if (wificonnected){
      topwindspeedfeed->save(topwindspeed);
    }
    lasttopwindspeed = millis();
  }
  if (millis() - lasttopwindspeed > topwindspeederaseint){
    topwindspeed = windspeed;
    lasttopwindspeed = millis();
  }
}

void OTAStart(){
  // Port defaults to 8266
   //ArduinoOTA.setPort(8266);
  // Hostname defaults to esp8266-[ChipID]
   ArduinoOTA.setHostname("AnemometerESP");
  // No authentication by default
   ArduinoOTA.setPassword("maker");//(const char 

  ArduinoOTA.onStart([]() {
    Serial.println("Start");
  });
  ArduinoOTA.onEnd([]() {
    Serial.println("\nEnd");
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
    else if (error == OTA_END_ERROR) Serial.println("End Failed");
  });
  ArduinoOTA.begin();
  Serial.println("Ready");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}

const char index_html[] PROGMEM = R"rawliteral(
<!DOCTYPE HTML><html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  
  <style>
    html {
     font-family: Arial;
     display: inline-block;
     margin: 0px auto;
     text-align: center;
    }
    h2 { font-size: 3.0rem; }
    p { font-size: 3.0rem; }
    .units { font-size: 1.2rem; }
    .dht-labels{
      font-size: 1.5rem;
      vertical-align:middle;
      padding-bottom: 15px;
    }
  </style>
</head>
<body>
  <h2>ESP Anemometer Server</h2>
  <p>
    <span class="dht-labels">Wind Speed</span> 
    <span id="windspeed">%WINDSPEED%</span>
    <sup class="units">MPH</sup>
  </p>
  <p>
    <span class="dht-labels">Top Wind Speed</span>
    <span id="topwindspeed">%TOPWINDSPEED%</span>
    <sup class="units">MPH</sup>
  </p>
</body>
<script>
setInterval(function ( ) {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("windspeed").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "/windspeed", true);
  xhttp.send();
}, 500 ) ;

setInterval(function ( ) {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("topwindspeed").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", "/topwindspeed", true);
  xhttp.send();
}, 3000 ) ;
</script>
</html>)rawliteral";

// Replaces placeholder with DHT values
String processor(const String& var){
  //Serial.println(var);
  if(var == "WINDSPEED"){
    return String(windspeedavg);
  }
  else if(var == "TOPWINDSPEED"){
    return String(topwindspeed);
  }
  return String();
}

void setup(){
  // Serial port for debugging purposes
  Serial.begin(115200);

  pinMode(WINDPIN, INPUT);
  
  WiFi.mode(WIFI_AP_STA);

  Serial.println("\n[*] Creating ESP32 AP");
  WiFi.softAP(soft_ap_ssid, soft_ap_password);
  Serial.print("[+] AP Created with IP Gateway ");
  Serial.println(WiFi.softAPIP());

  int n = WiFi.scanNetworks();
  for (int i = 0; i < n; ++i) {
    if (WiFi.SSID(i) == ssid){
      Serial.println("Starting adafruit-io...");
      unsigned long startmillis = millis();
      io.connect();
      while(io.status() < AIO_CONNECTED) {
        Serial.print(".");
        delay(500);
        yield();
        if (millis() - startmillis > 7000){
          wificonnected = false;
          goto ext;
        }
      }
      wificonnected = true;
      // Connect to Wi-Fi
      /*WiFi.begin(ssid, password);
      Serial.println("Connecting to WiFi");
      unsigned long startmillis = millis();
      while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println(".");
        yield();
        if (millis() - startmillis > 7000){
          goto ext;
        }
      }*/
      Serial.println(WiFi.localIP());
      OTAStart();
    }
    else {
      wificonnected = false;
    }
  }
  ext:

  // Route for root / web page
  server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
    request->send_P(200, "text/html", index_html, processor);
  });
  server.on("/windspeed", HTTP_GET, [](AsyncWebServerRequest *request){
    request->send_P(200, "text/plain", String(windspeedavg).c_str());
  });
  server.on("/topwindspeed", HTTP_GET, [](AsyncWebServerRequest *request){
    request->send_P(200, "text/plain", String(topwindspeed).c_str());
  });

  // Start server
  server.begin();

  esp_sleep_enable_timer_wakeup(20 * uS_TO_S_FACTOR);

}
 
void loop(){
  if (wificonnected){io.run();}
  getWindReadings();
}

Any help would be greatly appreciated!

What do you think the "!" is supposed to do?

What logical comparison did you have in mind?

Hi @jremington !

The "!" is a logical not. For example,
if(!wificonnected){//run code if wifi isn't connected}

The logical comparison seems to be in the ArduinoHttpClient library in the HttpClient.cpp file. It seems that the comparison is for checking if a client isn't connected.

There was no error before I tried adding Adafruit_IO. The previous code is running right now on the anemometer just fine.

Yes, of course, but what do YOU expect it to do?

Do you expect the function return value to be less than zero?

Of course not. The return value should be true (1) or false (0).

Why do you ask?

I'll try again. What is the ">0" supposed to doing?

I just went back up and reread the error before your response. I was just going to ask you why there is a ">0" and a "!" in the same if statement :thinking:.

Couldn't the ">0" just be deleted?

Only you know what should happen. Write the if logic accordingly.

I'm not really sure what should happen :man_shrugging:. The error is inside the library.

output

 0
 1
#include <stdio.h>

int
main ()
{
    printf (" %d\n", ! 5);
    printf (" %d\n", ! 0);

    return 0;
}

I'm confused @gcjr, sorry. :man_facepalming:

It should be

if (!(iClient->connect(iServerName, iServerPort) > 0))

and it has been fixed in version 0.5.0.
https://github.com/arduino-libraries/ArduinoHttpClient/releases/tag/0.5.0

Thanks @oqibidipo for spoon feeding that to a dummy over here :man_facepalming:.

Thanks @jremington for trying to walk me through the logic! I really appreciate that.

I just fixed that, and now I have a whole list of almost the same issues :thinking:.

/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::Adafruit_MQTT(char const*, unsigned short, char const*, char const*, char const*)':
/Users/user/Documents/Arduino/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp:117: multiple definition of `Adafruit_MQTT::Adafruit_MQTT(char const*, unsigned short, char const*, char const*, char const*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:/Users/user/Documents/Arduino/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp:117: first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::Adafruit_MQTT(char const*, unsigned short, char const*, char const*, char const*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTTC2EPKctS1_S1_S1_+0x0): multiple definition of `Adafruit_MQTT::Adafruit_MQTT(char const*, unsigned short, char const*, char const*, char const*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTTC2EPKctS1_S1_S1_+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::Adafruit_MQTT(char const*, unsigned short, char const*, char const*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTTC2EPKctS1_S1_+0x0): multiple definition of `Adafruit_MQTT::Adafruit_MQTT(char const*, unsigned short, char const*, char const*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTTC2EPKctS1_S1_+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::Adafruit_MQTT(char const*, unsigned short, char const*, char const*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTTC2EPKctS1_S1_+0x0): multiple definition of `Adafruit_MQTT::Adafruit_MQTT(char const*, unsigned short, char const*, char const*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTTC2EPKctS1_S1_+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::processSubscriptionPacket(Adafruit_MQTT_Subscribe*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT25processSubscriptionPacketEP23Adafruit_MQTT_Subscribe+0x0): multiple definition of `Adafruit_MQTT::processSubscriptionPacket(Adafruit_MQTT_Subscribe*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT25processSubscriptionPacketEP23Adafruit_MQTT_Subscribe+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::readFullPacket(unsigned char*, unsigned short, unsigned short)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT14readFullPacketEPhtt+0x0): multiple definition of `Adafruit_MQTT::readFullPacket(unsigned char*, unsigned short, unsigned short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT14readFullPacketEPhtt+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::connectErrorString(signed char)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT18connectErrorStringEa+0x0): multiple definition of `Adafruit_MQTT::connectErrorString(signed char)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT18connectErrorStringEa+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::disconnect()':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT10disconnectEv+0x0): multiple definition of `Adafruit_MQTT::disconnect()'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT10disconnectEv+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::will(char const*, char const*, unsigned char, unsigned char)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT4willEPKcS1_hh+0x0): multiple definition of `Adafruit_MQTT::will(char const*, char const*, unsigned char, unsigned char)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT4willEPKcS1_hh+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::setKeepAliveInterval(unsigned short)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT20setKeepAliveIntervalEt+0x0): multiple definition of `Adafruit_MQTT::setKeepAliveInterval(unsigned short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT20setKeepAliveIntervalEt+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::subscribe(Adafruit_MQTT_Subscribe*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT9subscribeEP23Adafruit_MQTT_Subscribe+0x0): multiple definition of `Adafruit_MQTT::subscribe(Adafruit_MQTT_Subscribe*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT9subscribeEP23Adafruit_MQTT_Subscribe+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::handleSubscriptionPacket(unsigned short)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT24handleSubscriptionPacketEt+0x0): multiple definition of `Adafruit_MQTT::handleSubscriptionPacket(unsigned short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT24handleSubscriptionPacketEt+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::processPacketsUntil(unsigned char*, unsigned char, unsigned short)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT19processPacketsUntilEPhht+0x0): multiple definition of `Adafruit_MQTT::processPacketsUntil(unsigned char*, unsigned char, unsigned short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT19processPacketsUntilEPhht+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::readSubscription(short)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT16readSubscriptionEs+0x0): multiple definition of `Adafruit_MQTT::readSubscription(short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT16readSubscriptionEs+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::processPackets(short)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT14processPacketsEs+0x0): multiple definition of `Adafruit_MQTT::processPackets(short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT14processPacketsEs+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::flushIncoming(unsigned short)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT13flushIncomingEt+0x0): multiple definition of `Adafruit_MQTT::flushIncoming(unsigned short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT13flushIncomingEt+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::ping(unsigned char)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT4pingEh+0x0): multiple definition of `Adafruit_MQTT::ping(unsigned char)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT4pingEh+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::connectPacket(unsigned char*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT13connectPacketEPh+0x0): multiple definition of `Adafruit_MQTT::connectPacket(unsigned char*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT13connectPacketEPh+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::publishPacket(unsigned char*, char const*, unsigned char*, unsigned short, unsigned char, unsigned short, bool)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT13publishPacketEPhPKcS0_thtb+0x0): multiple definition of `Adafruit_MQTT::publishPacket(unsigned char*, char const*, unsigned char*, unsigned short, unsigned char, unsigned short, bool)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT13publishPacketEPhPKcS0_thtb+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::publish(char const*, unsigned char*, unsigned short, unsigned char, bool)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT7publishEPKcPhthb+0x0): multiple definition of `Adafruit_MQTT::publish(char const*, unsigned char*, unsigned short, unsigned char, bool)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT7publishEPKcPhthb+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::publish(char const*, char const*, unsigned char, bool)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT7publishEPKcS1_hb+0x0): multiple definition of `Adafruit_MQTT::publish(char const*, char const*, unsigned char, bool)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT7publishEPKcS1_hb+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::subscribePacket(unsigned char*, char const*, unsigned char)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT15subscribePacketEPhPKch+0x0): multiple definition of `Adafruit_MQTT::subscribePacket(unsigned char*, char const*, unsigned char)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT15subscribePacketEPhPKch+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::connect()':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT7connectEv+0x0): multiple definition of `Adafruit_MQTT::connect()'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT7connectEv+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::connect(char const*, char const*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT7connectEPKcS1_+0x0): multiple definition of `Adafruit_MQTT::connect(char const*, char const*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT7connectEPKcS1_+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::unsubscribePacket(unsigned char*, char const*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT17unsubscribePacketEPhPKc+0x0): multiple definition of `Adafruit_MQTT::unsubscribePacket(unsigned char*, char const*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT17unsubscribePacketEPhPKc+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::unsubscribe(Adafruit_MQTT_Subscribe*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT11unsubscribeEP23Adafruit_MQTT_Subscribe+0x0): multiple definition of `Adafruit_MQTT::unsubscribe(Adafruit_MQTT_Subscribe*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT11unsubscribeEP23Adafruit_MQTT_Subscribe+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::pingPacket(unsigned char*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT10pingPacketEPh+0x0): multiple definition of `Adafruit_MQTT::pingPacket(unsigned char*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT10pingPacketEPh+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::pubackPacket(unsigned char*, unsigned short)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT12pubackPacketEPht+0x0): multiple definition of `Adafruit_MQTT::pubackPacket(unsigned char*, unsigned short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT12pubackPacketEPht+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT::disconnectPacket(unsigned char*)':
Adafruit_MQTT.cpp:(.text._ZN13Adafruit_MQTT16disconnectPacketEPh+0x0): multiple definition of `Adafruit_MQTT::disconnectPacket(unsigned char*)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN13Adafruit_MQTT16disconnectPacketEPh+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Publish::Adafruit_MQTT_Publish(Adafruit_MQTT*, char const*, unsigned char)':
Adafruit_MQTT.cpp:(.text._ZN21Adafruit_MQTT_PublishC2EP13Adafruit_MQTTPKch+0x0): multiple definition of `Adafruit_MQTT_Publish::Adafruit_MQTT_Publish(Adafruit_MQTT*, char const*, unsigned char)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN21Adafruit_MQTT_PublishC2EP13Adafruit_MQTTPKch+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Publish::Adafruit_MQTT_Publish(Adafruit_MQTT*, char const*, unsigned char)':
Adafruit_MQTT.cpp:(.text._ZN21Adafruit_MQTT_PublishC2EP13Adafruit_MQTTPKch+0x0): multiple definition of `Adafruit_MQTT_Publish::Adafruit_MQTT_Publish(Adafruit_MQTT*, char const*, unsigned char)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN21Adafruit_MQTT_PublishC2EP13Adafruit_MQTTPKch+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Publish::publish(int, bool)':
Adafruit_MQTT.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEib+0x0): multiple definition of `Adafruit_MQTT_Publish::publish(int, bool)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEib+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Publish::publish(unsigned int, bool)':
Adafruit_MQTT.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEjb+0x0): multiple definition of `Adafruit_MQTT_Publish::publish(unsigned int, bool)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEjb+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Publish::publish(double, unsigned char, bool)':
Adafruit_MQTT.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEdhb+0x0): multiple definition of `Adafruit_MQTT_Publish::publish(double, unsigned char, bool)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEdhb+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Publish::publish(char const*, bool)':
Adafruit_MQTT.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEPKcb+0x0): multiple definition of `Adafruit_MQTT_Publish::publish(char const*, bool)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEPKcb+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Publish::publish(unsigned char*, unsigned short, bool)':
Adafruit_MQTT.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEPhtb+0x0): multiple definition of `Adafruit_MQTT_Publish::publish(unsigned char*, unsigned short, bool)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN21Adafruit_MQTT_Publish7publishEPhtb+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Subscribe::Adafruit_MQTT_Subscribe(Adafruit_MQTT*, char const*, unsigned char)':
Adafruit_MQTT.cpp:(.text._ZN23Adafruit_MQTT_SubscribeC2EP13Adafruit_MQTTPKch+0x0): multiple definition of `Adafruit_MQTT_Subscribe::Adafruit_MQTT_Subscribe(Adafruit_MQTT*, char const*, unsigned char)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN23Adafruit_MQTT_SubscribeC2EP13Adafruit_MQTTPKch+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Subscribe::Adafruit_MQTT_Subscribe(Adafruit_MQTT*, char const*, unsigned char)':
Adafruit_MQTT.cpp:(.text._ZN23Adafruit_MQTT_SubscribeC2EP13Adafruit_MQTTPKch+0x0): multiple definition of `Adafruit_MQTT_Subscribe::Adafruit_MQTT_Subscribe(Adafruit_MQTT*, char const*, unsigned char)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN23Adafruit_MQTT_SubscribeC2EP13Adafruit_MQTTPKch+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Subscribe::setCallback(void (*)(unsigned int))':
Adafruit_MQTT.cpp:(.text._ZN23Adafruit_MQTT_Subscribe11setCallbackEPFvjE+0x0): multiple definition of `Adafruit_MQTT_Subscribe::setCallback(void (*)(unsigned int))'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN23Adafruit_MQTT_Subscribe11setCallbackEPFvjE+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Subscribe::setCallback(void (*)(double))':
Adafruit_MQTT.cpp:(.text._ZN23Adafruit_MQTT_Subscribe11setCallbackEPFvdE+0x0): multiple definition of `Adafruit_MQTT_Subscribe::setCallback(void (*)(double))'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN23Adafruit_MQTT_Subscribe11setCallbackEPFvdE+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Subscribe::setCallback(void (*)(char*, unsigned short))':
Adafruit_MQTT.cpp:(.text._ZN23Adafruit_MQTT_Subscribe11setCallbackEPFvPctE+0x0): multiple definition of `Adafruit_MQTT_Subscribe::setCallback(void (*)(char*, unsigned short))'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN23Adafruit_MQTT_Subscribe11setCallbackEPFvPctE+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Subscribe::setCallback(AdafruitIO_MQTT*, void (AdafruitIO_MQTT::*)(char*, unsigned short))':
Adafruit_MQTT.cpp:(.text._ZN23Adafruit_MQTT_Subscribe11setCallbackEP15AdafruitIO_MQTTMS0_FvPctE+0x0): multiple definition of `Adafruit_MQTT_Subscribe::setCallback(AdafruitIO_MQTT*, void (AdafruitIO_MQTT::*)(char*, unsigned short))'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN23Adafruit_MQTT_Subscribe11setCallbackEP15AdafruitIO_MQTTMS0_FvPctE+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `Adafruit_MQTT_Subscribe::removeCallback()':
Adafruit_MQTT.cpp:(.text._ZN23Adafruit_MQTT_Subscribe14removeCallbackEv+0x0): multiple definition of `Adafruit_MQTT_Subscribe::removeCallback()'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._ZN23Adafruit_MQTT_Subscribe14removeCallbackEv+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT.cpp.o: In function `printBuffer(unsigned char*, unsigned short)':
Adafruit_MQTT.cpp:(.text._Z11printBufferPht+0x0): multiple definition of `printBuffer(unsigned char*, unsigned short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT 3.cpp.o:Adafruit_MQTT 3.cpp:(.text._Z11printBufferPht+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client.cpp.o: In function `Adafruit_MQTT_Client::connected()':
/Users/user/Documents/Arduino/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client.h:34: multiple definition of `Adafruit_MQTT_Client::connected()'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client 3.cpp.o:/Users/user/Documents/Arduino/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client 3.cpp:46: first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client.cpp.o: In function `Adafruit_MQTT_Client::sendPacket(unsigned char*, unsigned short)':
Adafruit_MQTT_Client.cpp:(.text._ZN20Adafruit_MQTT_Client10sendPacketEPht+0x0): multiple definition of `Adafruit_MQTT_Client::sendPacket(unsigned char*, unsigned short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client 3.cpp.o:Adafruit_MQTT_Client 3.cpp:(.text._ZN20Adafruit_MQTT_Client10sendPacketEPht+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client.cpp.o: In function `Adafruit_MQTT_Client::connectServer()':
Adafruit_MQTT_Client.cpp:(.text._ZN20Adafruit_MQTT_Client13connectServerEv+0x0): multiple definition of `Adafruit_MQTT_Client::connectServer()'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client 3.cpp.o:Adafruit_MQTT_Client 3.cpp:(.text._ZN20Adafruit_MQTT_Client13connectServerEv+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client.cpp.o: In function `Adafruit_MQTT_Client::readPacket(unsigned char*, unsigned short, short)':
Adafruit_MQTT_Client.cpp:(.text._ZN20Adafruit_MQTT_Client10readPacketEPhts+0x0): multiple definition of `Adafruit_MQTT_Client::readPacket(unsigned char*, unsigned short, short)'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client 3.cpp.o:Adafruit_MQTT_Client 3.cpp:(.text._ZN20Adafruit_MQTT_Client10readPacketEPhts+0x0): first defined here
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client.cpp.o: In function `Adafruit_MQTT_Client::disconnectServer()':
Adafruit_MQTT_Client.cpp:(.text._ZN20Adafruit_MQTT_Client16disconnectServerEv+0x0): multiple definition of `Adafruit_MQTT_Client::disconnectServer()'
/private/var/folders/2y/mn13ny595dzftc5swsy9_7940000gn/T/arduino/sketches/6BE188D2D96BD0850DB3C82863457E31/libraries/Adafruit_MQTT_Library/Adafruit_MQTT_Client 3.cpp.o:Adafruit_MQTT_Client 3.cpp:(.text._ZN20Adafruit_MQTT_Client16disconnectServerEv+0x0): first defined here
collect2: error: ld returned 1 exit status
Multiple libraries were found for "AdafruitIO_WiFi.h"
  Used: /Users/user/Documents/Arduino/libraries/Adafruit_IO_Arduino
  Not used: /Users/user/Documents/Arduino/libraries/Adafruit_IO_Arduino-master
  Not used: /Users/user/Documents/Arduino/libraries/arduino_153403
  Not used: /Users/user/Documents/Arduino/libraries/arduino_922256
Multiple libraries were found for "Hash.h"
  Used: /Users/user/Documents/Arduino/libraries/AsyncElegantOTA
  Not used: /Users/user/Documents/Arduino/libraries/Hash
Multiple libraries were found for "ArduinoOTA.h"
  Used: /Users/user/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/ArduinoOTA
  Not used: /Users/user/Documents/Arduino/libraries/ArduinoOTA
exit status 1

Compilation error: exit status 1

What on earth happened here?

You probably have two copies of the library that are now in conflict. Delete the old one.

1 Like

Apparently, there was an entire second copy of all the library files (all ending with a 3) inside the library folder :man_facepalming:. I deleted them, and it compiles fine now! Thanks @jremington!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.