mobizt / ESP-Mail-Client

The comprehensive Arduino Email Client Library to send and read Email for Arduino devices. The library also supports other network shields or modules e.g., Wi-Fi, Ethernet, and GSM/4G modules.
https://mobizt.github.io/ESP-Mail-Client/
MIT License
193 stars 56 forks source link

Getting strange error by including both the ESP mail Client and Firebase #212

Closed floatAsNeeded closed 1 year ago

floatAsNeeded commented 1 year ago

Hi!

I just want to report a kind of bug that happens even by simply adding the FirebaseESP8266 library in the ESPmail client send HTML example.

That's the error:

`
Arduino: 1.8.19 (Windows 10), Board: "LOLIN(WEMOS) D1 mini Pro, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 16KB cache + 48KB IRAM and 2nd Heap (shared), Use pgm_read macros for IRAM/PROGMEM, 16MB (FS:14MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 921600"

In file included from C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/Firebase.h:62,

                 from C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/FirebaseESP8266.h:42,

                 from C:\Users\eugen\AppData\Local\Temp\arduino_modified_sketch_27607\Send_HTML.ino:30:

C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/FB_Utils.h: In member function 'void* UtilsClass::newP(size_t, bool)':

C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/FB_Utils.h:280:37: error: no matching function for call to 'MB_FS::newP(size_t&, bool&)'

  280 |         return mbfs->newP(len, clear);

      |                                     ^

In file included from C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src/extras/RFC2047.h:8,

                 from C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src/ESP_Mail_Client.h:34,

                 from C:\Users\eugen\AppData\Local\Temp\arduino_modified_sketch_27607\Send_HTML.ino:29:

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src/extras/MB_FS.h:778:11: note: candidate: 'void* MB_FS::newP(size_t)'

  778 |     void *newP(size_t len)

      |           ^~~~

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src/extras/MB_FS.h:778:11: note:   candidate expects 1 argument, 2 provided

Multiple libraries were found for "SD.h"

 Used: C:\Users\eugen\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\SD

 Not used: C:\Program Files (x86)\Arduino\libraries\SD

exit status 1

Error compiling for board LOLIN(WEMOS) D1 mini Pro.

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

That's the code to reproduce the error:

/**
 * This example shows how to send html Email.
 *
 * Created by K. Suwatchai (Mobizt)
 *
 * Email: suwatchai@outlook.com
 *
 * Github: https://github.com/mobizt/ESP-Mail-Client
 *
 * Copyright (c) 2022 mobizt
 *
 */

#include <Arduino.h>
#if defined(ESP32)
#include <WiFi.h>
#elif defined(ESP8266)
#include <ESP8266WiFi.h>
#else

// Other Client defined here
// To use custom Client, define ENABLE_CUSTOM_CLIENT in  src/ESP_Mail_FS.h.
// See the example Custom_Client.ino for how to use.

#endif

#include <ESP_Mail_Client.h>
#include <FirebaseESP8266.h>

#define WIFI_SSID "<ssid>"
#define WIFI_PASSWORD "<password>"

/** For Gmail, the app password will be used for log in
 *  Check out https://github.com/mobizt/ESP-Mail-Client#gmail-smtp-and-imap-required-app-passwords-to-sign-in
 *
 * For Yahoo mail, log in to your yahoo mail in web browser and generate app password by go to
 * https://login.yahoo.com/account/security/app-passwords/add/confirm?src=noSrc
 *
 * To use Gmai and Yahoo's App Password to sign in, define the AUTHOR_PASSWORD with your App Password
 * and AUTHOR_EMAIL with your account email.
 */

/** The smtp host name e.g. smtp.gmail.com for GMail or smtp.office365.com for Outlook or smtp.mail.yahoo.com */
#define SMTP_HOST "<host>"

/** The smtp port e.g.
 * 25  or esp_mail_smtp_port_25
 * 465 or esp_mail_smtp_port_465
 * 587 or esp_mail_smtp_port_587
 */
#define SMTP_PORT esp_mail_smtp_port_587

/* The log in credentials */
#define AUTHOR_EMAIL "<email>"
#define AUTHOR_PASSWORD "<password>"

/* Declare the global used SMTPSession object for SMTP transport */
SMTPSession smtp;

/* Callback function to get the Email sending status */
void smtpCallback(SMTP_Status status);

void setup()
{

  Serial.begin(115200);

#if defined(ARDUINO_ARCH_SAMD)
  while (!Serial)
    ;
  Serial.println();
  Serial.println("**** Custom built WiFiNINA firmware need to be installed.****\nTo install firmware, read the instruction here, https://github.com/mobizt/ESP-Mail-Client#install-custom-built-wifinina-firmware");

#endif

  Serial.println();

  Serial.print("Connecting to AP");

  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(200);
  }

  Serial.println("");
  Serial.println("WiFi connected.");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  Serial.println();

  /*  Set the network reconnection option */
  MailClient.networkReconnect(true);

  /** Enable the debug via Serial port
   * 0 for no debugging
   * 1 for basic level debugging
   *
   * Debug port can be changed via ESP_MAIL_DEFAULT_DEBUG_PORT in ESP_Mail_FS.h
   */
  smtp.debug(1);

  /* Set the callback function to get the sending results */
  smtp.callback(smtpCallback);

  /* Declare the ESP_Mail_Session for user defined session credentials */
  ESP_Mail_Session session;

  /* Set the session config */
  session.server.host_name = SMTP_HOST;
  session.server.port = SMTP_PORT;
  session.login.email = AUTHOR_EMAIL;
  session.login.password = AUTHOR_PASSWORD;
  session.login.user_domain = F("mydomain.net");

  /* Set the NTP config time */
  session.time.ntp_server = F("pool.ntp.org,time.nist.gov");
  session.time.gmt_offset = 3;
  session.time.day_light_offset = 0;

  /* Declare the message class */
  SMTP_Message message;

  /* Set the message headers */
  message.sender.name = F("ESP Mail");
  message.sender.email = AUTHOR_EMAIL;
  message.subject = F("Test sending html Email");
  message.addRecipient(F("Admin"), F("change_this@your_mail_dot_com"));

  String htmlMsg = "<p>This is the <span style=\"color:#ff0000;\">html text</span> message.</p><p>The message was sent via ESP device.</p>";
  message.html.content = htmlMsg;

  /** The html text message character set e.g.
   * us-ascii
   * utf-8
   * utf-7
   * The default value is utf-8
   */
  message.html.charSet = F("us-ascii");

  /** The content transfer encoding e.g.
   * enc_7bit or "7bit" (not encoded)
   * enc_qp or "quoted-printable" (encoded)
   * enc_base64 or "base64" (encoded)
   * enc_binary or "binary" (not encoded)
   * enc_8bit or "8bit" (not encoded)
   * The default value is "7bit"
   */
  message.html.transfer_encoding = Content_Transfer_Encoding::enc_7bit;

  /** The message priority
   * esp_mail_smtp_priority_high or 1
   * esp_mail_smtp_priority_normal or 3
   * esp_mail_smtp_priority_low or 5
   * The default value is esp_mail_smtp_priority_low
   */
  message.priority = esp_mail_smtp_priority::esp_mail_smtp_priority_low;

  /** The Delivery Status Notifications e.g.
   * esp_mail_smtp_notify_never
   * esp_mail_smtp_notify_success
   * esp_mail_smtp_notify_failure
   * esp_mail_smtp_notify_delay
   * The default value is esp_mail_smtp_notify_never
   */
  // message.response.notify = esp_mail_smtp_notify_success | esp_mail_smtp_notify_failure | esp_mail_smtp_notify_delay;

  /* Set the custom message header */
  message.addHeader(F("Message-ID: <abcde.fghij@gmail.com>"));

  /* Connect to the server */
  if (!smtp.connect(&session /* session credentials */))
    return;

  /* Start sending Email and close the session */
  if (!MailClient.sendMail(&smtp, &message))
    Serial.println("Error sending Email, " + smtp.errorReason());

  // to clear sending result log
  // smtp.sendingResult.clear();

  ESP_MAIL_PRINTF("Free Heap: %d\n", MailClient.getFreeHeap());
}

void loop()
{
}

/* Callback function to get the Email sending status */
void smtpCallback(SMTP_Status status)
{
  /* Print the current status */
  Serial.println(status.info());

  /* Print the sending result */
  if (status.success())
  {
    // ESP_MAIL_PRINTF used in the examples is for format printing via debug Serial port
    // that works for all supported Arduino platform SDKs e.g. AVR, SAMD, ESP32 and ESP8266.
    // In ESP8266 and ESP32, you can use Serial.printf directly.

    Serial.println("----------------");
    ESP_MAIL_PRINTF("Message sent success: %d\n", status.completedCount());
    ESP_MAIL_PRINTF("Message sent failed: %d\n", status.failedCount());
    Serial.println("----------------\n");

    for (size_t i = 0; i < smtp.sendingResult.size(); i++)
    {
      /* Get the result item */
      SMTP_Result result = smtp.sendingResult.getItem(i);

      // In case, ESP32, ESP8266 and SAMD device, the timestamp get from result.timestamp should be valid if
      // your device time was synched with NTP server.
      // Other devices may show invalid timestamp as the device time was not set i.e. it will show Jan 1, 1970.
      // You can call smtp.setSystemTime(xxx) to set device time manually. Where xxx is timestamp (seconds since Jan 1, 1970)
      time_t ts = (time_t)result.timestamp;

      ESP_MAIL_PRINTF("Message No: %d\n", i + 1);
      ESP_MAIL_PRINTF("Status: %s\n", result.completed ? "success" : "failed");
      ESP_MAIL_PRINTF("Date/Time: %s\n", asctime(localtime(&ts)));
      ESP_MAIL_PRINTF("Recipient: %s\n", result.recipients.c_str());
      ESP_MAIL_PRINTF("Subject: %s\n", result.subject.c_str());
    }
    Serial.println("----------------\n");

    // You need to clear sending result as the memory usage will grow up.
    smtp.sendingResult.clear();
  }
}

I'm using the latest version of the libraries for both the Firebase library and the ESPmail client. The board I'm using is the Wemos D1 mini pro with esp core 3.0.2 and Arduino IDE 1.8.19 and Windows 10

Any ideas on how to resolve the issue? Thank you!

P.S. By removing the extra SD library it also doesn't work.

mobizt commented 1 year ago

You can't use two libraries that depend on the same header file "MB_FS.h" with different version. You must remove one at https://github.com/mobizt/ESP-Mail-Client/blob/master/src/extras/MB_FS.h or https://github.com/mobizt/Firebase-ESP8266/blob/master/src/mbfs/MB_FS.h

mobizt commented 1 year ago

I recommended you remove the older version of MB_FS.h in ESP-Mail-Client library at https://github.com/mobizt/ESP-Mail-Client/blob/master/src/extras/MB_FS.h

floatAsNeeded commented 1 year ago

Thanks for the response!

mmm strange, I removed but not it saying that it's missing

Arduino: 1.8.19 (Windows 10), Board: "LOLIN(WEMOS) D1 mini Pro, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 16KB cache + 48KB IRAM and 2nd Heap (shared), Use pgm_read macros for IRAM/PROGMEM, 16MB (FS:14MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 921600"

In file included from C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src/ESP_Mail_Client.h:34,

                 from C:\Users\eugen\AppData\Local\Temp\arduino_modified_sketch_510683\Send_HTML.ino:29:

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src/extras/RFC2047.h:8:10: fatal error: MB_FS.h: No such file or directory

    8 | #include "MB_FS.h"

      |          ^~~~~~~~~

compilation terminated.

exit status 1

Error compiling for board LOLIN(WEMOS) D1 mini Pro.

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

You must include firebase library first (on top of mail library).

floatAsNeeded commented 1 year ago

Yeah I did that but still saying it's missing the file

mobizt commented 1 year ago

Final method, you can copy the new version of MB_FS.h in Firebase library to the Email library. I will update this header file in the next update.

floatAsNeeded commented 1 year ago

Wow things got more serious :D

I tried copying the new MB_FS.h file to the Email library and now I get this error:

`Arduino: 1.8.19 (Windows 10), Board: "LOLIN(WEMOS) D1 mini Pro, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 16KB cache + 48KB IRAM and 2nd Heap (shared), Use pgm_read macros for IRAM/PROGMEM, 16MB (FS:14MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 921600"

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client16setClientRSACertEPK16BearSSL_X509ListPK18BearSSL_PrivateKey':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:121: multiple definition of `_ZN18ESP8266_SSL_Client16setClientRSACertEPK16BearSSL_X509ListPK18BearSSL_PrivateKey'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:116: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client15setClientECCertEPK16BearSSL_X509ListPK18BearSSL_PrivateKeyjj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:127: multiple definition of `_ZN18ESP8266_SSL_Client15setClientECCertEPK16BearSSL_X509ListPK18BearSSL_PrivateKeyjj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:122: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client14setBufferSizesEii':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:144: multiple definition of `_ZN18ESP8266_SSL_Client14setBufferSizesEii'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:139: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client7connectE9IPAddresst':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:183: multiple definition of `_ZN18ESP8266_SSL_Client7connectE9IPAddresst'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:178: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client7connectEPKct':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:213: multiple definition of `_ZN18ESP8266_SSL_Client7connectEPKct'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:196: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client7connectERK6Stringt':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:243: multiple definition of `_ZN18ESP8266_SSL_Client7connectERK6Stringt'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:212: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client17m_clientConnectedEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:271: multiple definition of `_ZN18ESP8266_SSL_Client17m_clientConnectedEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:240: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client9connectedEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:276: multiple definition of `_ZN18ESP8266_SSL_Client9connectedEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:245: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client4readEPhj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:413: multiple definition of `_ZN18ESP8266_SSL_Client4readEPhj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:382: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client4readEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:472: multiple definition of `_ZN18ESP8266_SSL_Client4readEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:441: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client10peekBufferEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:461: multiple definition of `_ZN18ESP8266_SSL_Client10peekBufferEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:430: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client11peekConsumeEj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:465: multiple definition of `_ZN18ESP8266_SSL_Client11peekConsumeEj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:434: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client4peekEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:523: multiple definition of `_ZN18ESP8266_SSL_Client4peekEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:492: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client9peekBytesEPhj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:542: multiple definition of `_ZN18ESP8266_SSL_Client9peekBytesEPhj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:511: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client13setSSLVersionEjj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:822: multiple definition of `_ZN18ESP8266_SSL_Client13setSSLVersionEjj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:791: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client13m_alloc_iobufEj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:905: multiple definition of `_ZN18ESP8266_SSL_Client13m_alloc_iobufEj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:874: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client23m_br_x509_insecure_initEP27mb_br_x509_insecure_contextiPKhi':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:1153: multiple definition of `_ZN18ESP8266_SSL_Client23m_br_x509_insecure_initEP27mb_br_x509_insecure_contextiPKhi'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:1120: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client10setTimeoutEm':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:1171: multiple definition of `_ZN18ESP8266_SSL_Client10setTimeoutEm'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:1138: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client29m_clearAuthenticationSettingsEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:1179: multiple definition of `_ZN18ESP8266_SSL_Client29m_clearAuthenticationSettingsEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:1146: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client14setFingerprintEPKc':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:756: multiple definition of `_ZN18ESP8266_SSL_Client14setFingerprintEPKc'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:725: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client9setClientEP6Client':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:1189: multiple definition of `_ZN18ESP8266_SSL_Client9setClientEP6Client'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:1156: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client15getLastSSLErrorEPcj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:1195: multiple definition of `_ZN18ESP8266_SSL_Client15getLastSSLErrorEPcj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:1162: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client12m_streamLoadER6Streamj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:1413: multiple definition of `_ZN18ESP8266_SSL_Client12m_streamLoadER6Streamj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:1380: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client10setCiphersEPKti':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:797: multiple definition of `_ZN18ESP8266_SSL_Client10setCiphersEPKti'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:766: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client10setCiphersERKSt6vectorItSaItEE':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:816: multiple definition of `_ZN18ESP8266_SSL_Client10setCiphersERKSt6vectorItSaItEE'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:785: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client20setCiphersLessSecureEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:812: multiple definition of `_ZN18ESP8266_SSL_Client20setCiphersLessSecureEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:781: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client9m_freeSSLEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:248: multiple definition of `_ZN18ESP8266_SSL_Client9m_freeSSLEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:217: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client4stopEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:151: multiple definition of `_ZN18ESP8266_SSL_Client4stopEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:146: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_ClientD2Ev':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:106: multiple definition of `_ZN18ESP8266_SSL_ClientD2Ev'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:101: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_ClientD2Ev':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:106: multiple definition of `_ZN18ESP8266_SSL_ClientD1Ev'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:101: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client7m_clearEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:67: multiple definition of `_ZN18ESP8266_SSL_Client7m_clearEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:62: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_ClientC2Ev':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:97: multiple definition of `_ZN18ESP8266_SSL_ClientC2Ev'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:92: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_ClientC2Ev':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:97: multiple definition of `_ZN18ESP8266_SSL_ClientC1Ev'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:92: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client28m_installServerX509ValidatorEPK16BearSSL_X509List':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:1025: multiple definition of `_ZN18ESP8266_SSL_Client28m_installServerX509ValidatorEPK16BearSSL_X509List'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:992: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client28m_installClientX509ValidatorEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:835: multiple definition of `_ZN18ESP8266_SSL_Client28m_installClientX509ValidatorEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:804: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client11m_run_untilEjb':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:567: multiple definition of `_ZN18ESP8266_SSL_Client11m_run_untilEjb'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:536: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client20m_wait_for_handshakeEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:728: multiple definition of `_ZN18ESP8266_SSL_Client20m_wait_for_handshakeEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:697: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client20m_connectSSLServerECEPK16BearSSL_X509ListjPK18BearSSL_PrivateKeyP22BearSSL_ServerSessionsS2_':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:1103: multiple definition of `_ZN18ESP8266_SSL_Client20m_connectSSLServerECEPK16BearSSL_X509ListjPK18BearSSL_PrivateKeyP22BearSSL_ServerSessionsS2_'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:1070: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client21m_connectSSLServerRSAEPK16BearSSL_X509ListPK18BearSSL_PrivateKeyP22BearSSL_ServerSessionsS2_':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:1061: multiple definition of `_ZN18ESP8266_SSL_Client21m_connectSSLServerRSAEPK16BearSSL_X509ListPK18BearSSL_PrivateKeyP22BearSSL_ServerSessionsS2_'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:1028: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client12m_connectSSLEPKc':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:924: multiple definition of `_ZN18ESP8266_SSL_Client12m_connectSSLEPKc'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:893: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client9availableEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:489: multiple definition of `_ZN18ESP8266_SSL_Client9availableEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:458: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client7m_writeEPKhjb':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:319: multiple definition of `_ZN18ESP8266_SSL_Client7m_writeEPKhjb'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:288: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client5writeER6Stream':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:399: multiple definition of `_ZN18ESP8266_SSL_Client5writeER6Stream'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:368: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client7write_PEPKcj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:394: multiple definition of `_ZN18ESP8266_SSL_Client7write_PEPKcj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:363: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client5writeEPKhj':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:389: multiple definition of `_ZN18ESP8266_SSL_Client5writeEPKhj'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:358: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client17availableForWriteEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:291: multiple definition of `_ZN18ESP8266_SSL_Client17availableForWriteEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:260: first defined here

c:/users/eugen/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\ESP_Mail_Client\wcs\esp8266\ESP8266_SSL_Client.cpp.o: in function `_ZN18ESP8266_SSL_Client5flushEv':

C:\Users\eugen\Documents\Arduino\libraries\ESP_Mail_Client\src\wcs\esp8266/ESP8266_SSL_Client.cpp:172: multiple definition of `_ZN18ESP8266_SSL_Client5flushEv'; libraries\Firebase_ESP8266_Client\sslclient\esp8266\ESP8266_SSL_Client.cpp.o:C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src\sslclient\esp8266/ESP8266_SSL_Client.cpp:167: first defined here

collect2.exe: error: ld returned 1 exit status

exit status 1

Error compiling for board LOLIN(WEMOS) D1 mini Pro.

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

I I try to remove the file from the firebase library and just keep it in email library I also get error :

In file included from C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/FB_Utils.h:37,
                 from C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/Firebase.h:62,
                 from C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/FirebaseESP8266.h:42,
                 from C:\Users\eugen\AppData\Local\Temp\arduino_modified_sketch_465774\Send_HTML.ino:15:
C:\Users\eugen\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/FB_Const.h:45:10: fatal error: ./mbfs/MB_FS.h: No such file or directory
   45 | #include "./mbfs/MB_FS.h"
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Error compiling for board LOLIN(WEMOS) D1 mini Pro.
mobizt commented 1 year ago

Remove this built-in esp8266 SSL client library folder from the Firebase library as this is the modified version from Mail library. https://github.com/mobizt/Firebase-ESP8266/tree/master/src/sslclient/esp8266

This built-in esp8266 SSL client is for using other network interfaces e.g. GSM, Ethernet with esp8266 and Firebase library.

By remove this library, some Firebase examples will fail to compile.

floatAsNeeded commented 1 year ago

Thanks! Now it compiles. I was using both libraries before without issue actually, but with the newer versions came up this problem by using them together. Since I use just normal WiFi I can leave without that features.

But would be good if both libraries could be used together without issues and without modifying the libraries!

mobizt commented 1 year ago

Yes, in the recent version of Firebase I include this modified version of esp8266 and esp32 external ssl clients and I will check and fix for the compatibility for both libraries in the next Firebase library update.

In case MB_FS.h, I have update it in Firebase library that breaks compatibility with the old version in my other libraries which the update is important.