Incompatibilità librerie ?

Salve a tutti,

da qualche giorno ho preso un ESP-01 (connesso via “Serial1” alla Mega) e stavo cercando di scrivere la pagina HTML del mio progetto…

Il server e l’AP funzionano come mi aspetto, ma quando includo la lib DS3231 (presa qui) il compilatore restituisce :

[..........................]


 ^

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://gcc.gnu.org/bugs.html> for instructions.

lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.19.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/program files/windowsapps/arduinollc.arduinoide_1.8.19.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

Uso la libreria DS3231 nella cartella: C:\Users\mixma\Documents\Arduino\libraries\DS3231 (legacy)
Uso la libreria Wire alla versione 1.0 nella cartella: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.19.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire 
Uso la libreria WiFiEsp alla versione 2.2.2 nella cartella: C:\Users\mixma\Documents\Arduino\libraries\WiFiEsp 
exit status 1
Errore durante la compilazione per la scheda Arduino/Genuino Mega or Mega 2560.

Si può risolvere ?

[code]


#include <DS3231.h>

DS3231  rtc(SDA, SCL);


Time  t;



#include <Wire.h>



#include <WiFiEsp.h>


char ssid[] = "TwimEsp";         // your network SSID (name)
char pass[] = "12345678";        // your network password
int status = WL_IDLE_STATUS;     // the Wifi radio's status
int reqCount = 0;                // number of requests received

WiFiEspServer server(80);

// use a ring buffer to increase speed and reduce memory allocation
RingBuffer buf(8);

void setup()
{
  Serial.begin(115200);   // initialize serial for debugging
  Serial1.begin(115200);    // initialize serial for ESP module

  rtc.begin();

   rtc.setTime(7,30, 0);     // Set the time to 12:00:00 (24hr format)
  rtc.setDate(12,12, 2018);   // Set the date to January 1st, 2014


  Wire.begin();
  
  
  Serial.print(F(" BENVENUTO..... "));
  WiFi.init(&Serial1);    // initialize ESP module

  // check for the presence of the shield
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    while (true); // don't continue
  }

  Serial.print("Attempting to start AP ");
  Serial.println(ssid);

  // uncomment these two lines if you want to set the IP address of the AP
  //IPAddress localIp(192, 168, 111, 111);
  //WiFi.configAP(localIp);
  
  // start access point
  status = WiFi.beginAP(ssid, 10, pass, ENC_TYPE_WPA2_PSK);

  Serial.println("Access point started");
  printWifiStatus();
   delay(2000);
 
  // start the web server on port 80
  server.begin();
  Serial.println("Server started");
  
}


void loop()
{
  


  
  // Send date
  Serial.print(F(" "));    

  // Send time
  Serial.print(rtc.getTimeStr());
   
 
  
  WiFiEspClient client = server.available();  // listen for incoming clients

  if (client) {                               // if you get a client,
    Serial.println("New client");             // print a message out the serial port
    buf.init();                               // initialize the circular buffer
    while (client.connected()) {              // loop while the client's connected
      if (client.available()) {               // if there's bytes to read from the client,
        char c = client.read();               // read a byte, then
        buf.push(c);                          // push it to the ring buffer

        // you got two newline characters in a row
        // that's the end of the HTTP request, so send a response
        if (buf.endsWith("\r\n\r\n")) {
          sendHttpResponse(client);
          break;
        }
      }
    }
    
    // give the web browser time to receive the data
    delay(10);

    // close the connection
    client.stop();
    Serial.println("Client disconnected");
  }
}

void sendHttpResponse(WiFiEspClient client)
{

[........]
}

[/code]

da notare che se tolgo l’istruzioni relativa all’ora dal loop( Serial.print(rtc.getTimeStr()) ; ) compila correttamente
metto il full report in allegato

Nuovo documento di testo.txt (15 KB)

l'errore lo da qui...

C:\Users\mixma\Documents\Arduino\libraries\WiFiEsp\src\utility\EspDrv.cpp: In function 'sendCmdGet':
C:\Users\mixma\Documents\Arduino\libraries\WiFiEsp\src\utility\EspDrv.cpp:985:1: internal compiler error: Segmentation fault

 }

 ^

questo l'avevo intuito.. il punto semmai è un altro... sai se si può risolvere? o mi conviene ritornare alla libreria "ufficiale" per DS3231 ? questa è comoda perchè si setta da stringa e prevede il metodo per scrivere l'ora di tipo string in formato hh:mm:ss