Using the new Arduino IDE for ESP8266 and found bugs, report them here

Moderator: igrr

User avatar
By TotalRetribution
#12926 Hi,
Im trying to use the callback function in PubSubClient so I can subscribe to a mqtt topic but it fails to compile.
My code is a tweaked version of the callback example PubSubClient provides.

Code: Select all#include <ESP8266WiFi.h>
#include <PubSubClient.h>

// Update these with values suitable for your network.
const char* ssid = ".";
const char* password = "";
char* server = "";

// Callback function header
void callback(char* topic, byte* payload, unsigned int length);

WiFiClient wifiClient;
PubSubClient client(server, 1883, callback, wifiClient);

// Callback function
void callback(char* topic, byte* payload, unsigned int length) {
  // In order to republish this payload, a copy must be made
  // as the orignal payload buffer will be overwritten whilst
  // constructing the PUBLISH packet.
 
  // Allocate the correct amount of memory for the payload copy
  byte* p = (byte*)malloc(length);
  // Copy the payload to the new buffer
  memcpy(p,payload,length);
  client.publish("outTopic", p, length);
  // Free the memory
  free(p);
}

void setup()
{
  Serial.begin(115200);
  delay(100);
 
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected"); 
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
 
  if (client.connect("esp8266Client"))
  {
    Serial.println("Connected to MQTT broker");
    if (client.publish("outTopic","hello world"))
    {
        Serial.println("Publish ok");
    }
    else
    {
      Serial.println("Publish failed");
    }
    client.subscribe("inTopic");
  }
  else
  {
    Serial.println("MQTT connect failed");
    Serial.println("Will reset and try again...");
    abort();
  }
   
}

void loop()
{
  client.loop();
}


the errors I get are
Code: Select allArduino: 1.6.1 (Windows 8.1), Board: "Generic ESP8266 board"

Build options changed, rebuilding all

Using library ESP8266WiFi in folder: C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi

Using library PubSubClient in folder: C:\Users\user\Desktop\arduino-ESP8266\libraries\PubSubClient (legacy)



C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src -IC:\Users\user\Desktop\arduino-ESP8266\libraries\PubSubClient C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\mqtt_publish_in_callback.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\mqtt_publish_in_callback.cpp.o

mqtt_publish_in_callback.ino:23:16: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

mqtt_publish_in_callback.ino: In function 'void callback(char*, byte*, unsigned int)':

mqtt_publish_in_callback.ino:41:39: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

mqtt_publish_in_callback.ino: In function 'void setup()':

mqtt_publish_in_callback.ino:68:37: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

mqtt_publish_in_callback.ino:71:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

mqtt_publish_in_callback.ino:71:48: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

mqtt_publish_in_callback.ino:79:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src -IC:\Users\user\Desktop\arduino-ESP8266\libraries\PubSubClient C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src\ESP8266WiFi.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\ESP8266WiFi\ESP8266WiFi.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src -IC:\Users\user\Desktop\arduino-ESP8266\libraries\PubSubClient C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src\WiFiClient.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\ESP8266WiFi\WiFiClient.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src -IC:\Users\user\Desktop\arduino-ESP8266\libraries\PubSubClient C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src\WiFiServer.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\ESP8266WiFi\WiFiServer.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src -IC:\Users\user\Desktop\arduino-ESP8266\libraries\PubSubClient C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src\WiFiUdp.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\ESP8266WiFi\WiFiUdp.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\libraries\ESP8266WiFi\src -IC:\Users\user\Desktop\arduino-ESP8266\libraries\PubSubClient -IC:\Users\user\Desktop\arduino-ESP8266\libraries\PubSubClient\utility C:\Users\user\Desktop\arduino-ESP8266\libraries\PubSubClient\PubSubClient.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\PubSubClient\PubSubClient.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-as -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\cont.S.o C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\cont.S

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\cont_util.c -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\cont_util.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\core_esp8266_noniso.c -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_noniso.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\core_esp8266_wiring.c -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\core_esp8266_wiring_analog.c -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring_analog.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\core_esp8266_wiring_digital.c -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring_digital.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\core_esp8266_wiring_pulse.c -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring_pulse.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\core_esp8266_wiring_shift.c -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring_shift.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\abi.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\abi.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\core_esp8266_main.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_main.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\HardwareSerial.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\HardwareSerial.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\i2c.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\i2c.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\IPAddress.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\IPAddress.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\Print.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\Print.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\Stream.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\Stream.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\Tone.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\Tone.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\WMath.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\WMath.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266 -IC:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\variants\esp01 C:\Users\user\Desktop\arduino-ESP8266\hardware\esp8266com\esp8266\cores\esp8266\WString.cpp -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\WString.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\cont.S.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\cont_util.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_noniso.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring_analog.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring_digital.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring_pulse.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_wiring_shift.c.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\abi.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\core_esp8266_main.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\HardwareSerial.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\i2c.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\IPAddress.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\Print.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\Stream.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\Tone.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\WMath.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar cru C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\WString.cpp.o

C:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -LC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//lib -LC:\Users\user\Desktop\arduino-ESP8266/hardware/tools/esp8266/sdk//ld -Teagle.app.v6.ld -o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/mqtt_publish_in_callback.cpp.elf -Wl,--start-group C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\mqtt_publish_in_callback.cpp.o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\ESP8266WiFi\ESP8266WiFi.cpp.o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\ESP8266WiFi\WiFiClient.cpp.o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\ESP8266WiFi\WiFiServer.cpp.o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\ESP8266WiFi\WiFiUdp.cpp.o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp\PubSubClient\PubSubClient.cpp.o C:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp/core.a -lc -lgcc -lhal -lphy -lnet80211 -llwip -lwpa -lmain -lpp -Wl,--end-group -LC:\Users\user\AppData\Local\Temp\build5653019635830876368.tmp

c:/users/user/desktop/arduino-esp8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/lib\libc.a(lib_a-mallocr.o):(.literal+0x2c): undefined reference to `_sbrk_r'

c:/users/user/desktop/arduino-esp8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/lib\libc.a(lib_a-mallocr.o): In function `malloc_extend_top':

d:\ivan\projects\arduinoesp\toolchain\dl\esp-newlib\build\xtensa-lx106-elf\newlib\libc\stdlib/../../../../../newlib/libc/stdlib/mallocr.c:2165: undefined reference to `_sbrk_r'

d:\ivan\projects\arduinoesp\toolchain\dl\esp-newlib\build\xtensa-lx106-elf\newlib\libc\stdlib/../../../../../newlib/libc/stdlib/mallocr.c:2202: undefined reference to `_sbrk_r'

c:/users/user/desktop/arduino-esp8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/lib\libc.a(lib_a-freer.o): In function `_malloc_trim_r':

d:\ivan\projects\arduinoesp\toolchain\dl\esp-newlib\build\xtensa-lx106-elf\newlib\libc\stdlib/../../../../../newlib/libc/stdlib/mallocr.c:3325: undefined reference to `_sbrk_r'

d:\ivan\projects\arduinoesp\toolchain\dl\esp-newlib\build\xtensa-lx106-elf\newlib\libc\stdlib/../../../../../newlib/libc/stdlib/mallocr.c:3332: undefined reference to `_sbrk_r'

c:/users/user/desktop/arduino-esp8266/hardware/tools/esp8266/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/lib\libc.a(lib_a-freer.o):d:\ivan\projects\arduinoesp\toolchain\dl\esp-newlib\build\xtensa-lx106-elf\newlib\libc\stdlib/../../../../../newlib/libc/stdlib/mallocr.c:3340: more undefined references to `_sbrk_r' follow

collect2.exe: error: ld returned 1 exit status

Error compiling.


Thanks
TotalRetribution
User avatar
By TotalRetribution
#13037 I changed the callback function to the following and it works great now. Just need servo working and I can finally use this device for what I purchased it for.

Code: Select all// Callback function
void callback(char* topic, byte* payload, unsigned int length) {
  // In order to republish this payload, a copy must be made
  // as the orignal payload buffer will be overwritten whilst
  // constructing the PUBLISH packet.
 
  // Allocate the correct amount of memory for the payload copy
  //byte* p = (byte*)os_malloc(length);
  byte *p = new byte(length);
  // Copy the payload to the new buffer
  memcpy(p,payload,length);
  client.publish("outTopic", p, length);
  // Free the memory
  //free(p);
  delete p;
}