mobizt/Firebase-ESP-Client

Using as component in esp idf not compiling

ThatBigPrint opened this issue · 1 comments

Just ask something
If you have questions, use Discussions instead.

Describe the bug
the issue im having is using this as a component in esp idf it fails to compile ive added all is needed to the files etc

To Reproduce

/*

  • SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
  • SPDX-License-Identifier: Apache-2.0
    */

#include <Arduino.h>
#include <Firebase_ESP_Client.h>

// Provide the token generation process info.
#include <addons/TokenHelper.h>

// Provide the RTDB payload printing info and other helper functions.
//#include <addons/RTDBHelper.h>

extern "C"
{
#include <inttypes.h>
#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/timers.h"

#include "esp_wifi.h"
#include "nvs_flash.h"
#include <sys/socket.h>

#include "esp_mac.h"

#include "esp_bridge.h"

#include "esp_mesh_lite.h"
}

#define API_KEY ""
#define DATABASE_URL ""
#define USER_EMAIL ""
#define USER_PASSWORD ""

#define PAYLOAD_LEN (1456) /**< Max payload size(in bytes) */
static int g_sockfd = -1;
static const char *TAG = "local_control";

FirebaseData fbdo;
FirebaseData stream;
FirebaseAuth auth;
FirebaseConfig config;
String parentPath = "/users/chrislloyd09@googlemail,com/cWqvIABom9OvBjNVrcwccqeNvkR2/rooms/new";
String childPath[2] = { "/brightness", "/color" };

void streamCallback(MultiPathStream stream) {
size_t numChild = sizeof(childPath) / sizeof(childPath[0]);
for (size_t i = 0; i < numChild; i++) {
if (stream.get(childPath[i])) {
Serial.printf("path: %s, event: %s, type: %s, value: %s%s", stream.dataPath.c_str(), stream.eventType.c_str(), stream.type.c_str(), stream.value.c_str(), i < numChild - 1 ? "\n" : "");
}
}
Serial.println();
}

void streamTimeoutCallback(bool timeout) {
if (timeout)
Serial.println("stream timed out, resuming...\n");

if (!stream.httpConnected())
Serial.printf("error code: %d, reason: %s\n\n", stream.httpCode(), stream.errorReason().c_str());
}

/**

  • @brief Create a tcp client
    */
    static int socket_tcp_client_create(const char *ip, uint16_t port)
    {
    ESP_LOGD(TAG, "Create a tcp client, ip: %s, port: %d", ip, port);

    esp_err_t ret = ESP_OK;
    int sockfd = -1;
    struct ifreq iface;
    memset(&iface, 0x0, sizeof(iface));
    struct sockaddr_in server_addr = {};
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(port);
    server_addr.sin_addr.s_addr = inet_addr(ip);

    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sockfd < 0)
    {
    ESP_LOGE(TAG, "socket create, sockfd: %d", sockfd);
    goto ERR_EXIT;
    }

    esp_netif_get_netif_impl_name(esp_netif_get_handle_from_ifkey("WIFI_STA_DEF"), iface.ifr_name);
    if (setsockopt(sockfd, SOL_SOCKET, SO_BINDTODEVICE, &iface, sizeof(struct ifreq)) != 0)
    {
    ESP_LOGE(TAG, "Bind [sock=%d] to interface %s fail", sockfd, iface.ifr_name);
    }

    ret = connect(sockfd, (struct sockaddr *)&server_addr, sizeof(struct sockaddr_in));
    if (ret < 0)
    {
    ESP_LOGD(TAG, "socket connect, ret: %d, ip: %s, port: %d",
    ret, ip, port);
    goto ERR_EXIT;
    }
    return sockfd;

ERR_EXIT:

if (sockfd != -1)
{
    close(sockfd);
}

return -1;

}

void tcp_client_write_task(void *arg)
{
size_t size = 0;
int count = 0;
char *data = NULL;
esp_err_t ret = ESP_OK;
uint8_t sta_mac[6] = {0};

esp_wifi_get_mac(WIFI_IF_STA, sta_mac);

ESP_LOGI(TAG, "TCP client write task is running");

while (1)
{
    if (g_sockfd == -1)
    {
        vTaskDelay(500 / portTICK_PERIOD_MS);
        g_sockfd = socket_tcp_client_create(CONFIG_SERVER_IP, CONFIG_SERVER_PORT);
        continue;
    }

    vTaskDelay(3000 / portTICK_PERIOD_MS);

    size = asprintf(&data, "{\"src_addr\": \"" MACSTR "\",\"data\": \"Hello TCP Server!\",\"level\": %d,\"count\": %d}\r\n",
                    MAC2STR(sta_mac), esp_mesh_lite_get_level(), count++);

    ESP_LOGD(TAG, "TCP write, size: %d, data: %s", size, data);
    ret = write(g_sockfd, data, size);
    free(data);

    if (ret <= 0)
    {
        ESP_LOGE(TAG, "<%s> TCP write", strerror(errno));
        close(g_sockfd);
        g_sockfd = -1;
        continue;
    }
}

ESP_LOGI(TAG, "TCP client write task is exit");

close(g_sockfd);
g_sockfd = -1;
if (data)
{
    free(data);
}
vTaskDelete(NULL);

}

/**

  • @brief Timed printing system information
    */
    static void print_system_info_timercb(TimerHandle_t timer)
    {
    uint8_t primary = 0;
    uint8_t sta_mac[6] = {0};
    wifi_ap_record_t ap_info = {0};
    wifi_second_chan_t second = (wifi_second_chan_t)0;
    wifi_sta_list_t wifi_sta_list = {0x0};

    esp_wifi_sta_get_ap_info(&ap_info);
    esp_wifi_get_mac(WIFI_IF_STA, sta_mac);
    esp_wifi_ap_get_sta_list(&wifi_sta_list);
    esp_wifi_get_channel(&primary, &second);

    ESP_LOGI(TAG, "System information, channel: %d, layer: %d, self mac: " MACSTR ", parent bssid: " MACSTR ", parent rssi: %d, free heap: %" PRIu32 "", primary,
    esp_mesh_lite_get_level(), MAC2STR(sta_mac), MAC2STR(ap_info.bssid),
    (ap_info.rssi != 0 ? ap_info.rssi : -120), esp_get_free_heap_size());

    for (int i = 0; i < wifi_sta_list.num; i++)
    {
    ESP_LOGI(TAG, "Child mac: " MACSTR, MAC2STR(wifi_sta_list.sta[i].mac));
    }

     config.api_key = API_KEY;
    

    auth.user.email = USER_EMAIL;
    auth.user.password = USER_PASSWORD;
    config.database_url = DATABASE_URL;
    config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h
    // Or use legacy authenticate method
    // config.database_url = DATABASE_URL;
    // config.signer.tokens.legacy_token = "";
    Firebase.begin(&config, &auth);
    Firebase.reconnectWiFi(true);
    if (!Firebase.RTDB.beginMultiPathStream(&stream, parentPath))
    Serial.printf("sream begin error, %s\n\n", stream.errorReason().c_str());
    Firebase.RTDB.setMultiPathStreamCallback(&stream, streamCallback, streamTimeoutCallback);
    }

static void ip_event_sta_got_ip_handler(void *arg, esp_event_base_t event_base,
int32_t event_id, void *event_data)
{
static bool tcp_task = false;

if (!tcp_task)
{
    xTaskCreate(tcp_client_write_task, "tcp_client_write_task", 4 * 1024, NULL, 5, NULL);
    tcp_task = true;
}

}

static esp_err_t esp_storage_init(void)
{
esp_err_t ret = nvs_flash_init();

if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND)
{
    // NVS partition was truncated and needs to be erased
    // Retry nvs_flash_init
    ESP_ERROR_CHECK(nvs_flash_erase());
    ret = nvs_flash_init();
}

return ret;

}

static esp_err_t wifi_init(void)
{
// Station
wifi_config_t wifi_config = {
.sta = {
.ssid = CONFIG_ROUTER_SSID,
.password = CONFIG_ROUTER_PASSWORD,
},
};
esp_bridge_wifi_set(WIFI_MODE_STA, (char *)wifi_config.sta.ssid, (char *)wifi_config.sta.password, NULL);

// Softap
memset(&wifi_config, 0x0, sizeof(wifi_config_t));
size_t softap_ssid_len = sizeof(wifi_config.ap.ssid);
if (esp_mesh_lite_get_softap_ssid_from_nvs((char *)wifi_config.ap.ssid, &softap_ssid_len) != ESP_OK)
{
    snprintf((char *)wifi_config.ap.ssid, sizeof(wifi_config.ap.ssid), "%s", CONFIG_BRIDGE_SOFTAP_SSID);
}
size_t softap_psw_len = sizeof(wifi_config.ap.password);
if (esp_mesh_lite_get_softap_psw_from_nvs((char *)wifi_config.ap.password, &softap_psw_len) != ESP_OK)
{
    strlcpy((char *)wifi_config.ap.password, CONFIG_BRIDGE_SOFTAP_PASSWORD, sizeof(wifi_config.ap.password));
}
esp_bridge_wifi_set(WIFI_MODE_AP, (char *)wifi_config.ap.ssid, (char *)wifi_config.ap.password, NULL);

return ESP_OK;

}

extern "C" void app_main()
{
initArduino();

/**
 * @brief Set the log level for serial port printing.
 */
esp_log_level_set("*", ESP_LOG_INFO);

ESP_ERROR_CHECK(esp_netif_init());
ESP_ERROR_CHECK(esp_event_loop_create_default());

esp_bridge_create_all_netif();

wifi_init();

esp_mesh_lite_config_t mesh_lite_config = ESP_MESH_LITE_DEFAULT_INIT();
esp_mesh_lite_init(&mesh_lite_config);

esp_mesh_lite_start();

/**
 * @breif Create handler
 */
ESP_ERROR_CHECK(esp_event_handler_instance_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &ip_event_sta_got_ip_handler, NULL, NULL));

TimerHandle_t timer = xTimerCreate("print_system_info", 10000 / portTICK_PERIOD_MS,
                                   true, NULL, print_system_info_timercb);
xTimerStart(timer, 0);

}

Expected behavior
To be able to add this libary to isp idf as arduino component

Screenshots
If applicable, add screenshots to help explain your problem.

IDE and its version:
idf/pio

ESP8266 Arduino Core SDK version

  • Version [e.g. 2.5.1]

Additional context
this is the main error

FAILED: mesh_local_control.elf
: && /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++ -mlongcalls -Wno-frame-address -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32=0 -Wl,--Map=/Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/build/mesh_local_control.map -Wl,--no-warn-rwx-segments -fno-rtti -fno-lto -Wl,--gc-sections -Wl,--warn-common -T esp32.peripherals.ld -T esp32.rom.ld -T esp32.rom.api.ld -T esp32.rom.libgcc.ld -T esp32.rom.newlib-data.ld -T esp32.rom.syscalls.ld -T esp32.rom.newlib-funcs.ld -T memory.ld -T sections.ld CMakeFiles/mesh_local_control.elf.dir/project_elf_src_esp32.c.obj -o mesh_local_control.elf -L/Users/chrislloyd/esp-idf/components/soc/esp32/ld -L/Users/chrislloyd/esp-idf/components/esp_rom/esp32/ld -L/Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/build/esp-idf/esp_system/ld -L/Users/chrislloyd/esp-idf/components/esp_phy/lib/esp32 -L/Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32 esp-idf/xtensa/libxtensa.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/esp_app_format/libesp_app_format.a esp-idf/bootloader_support/libbootloader_support.a esp-idf/esp_partition/libesp_partition.a esp-idf/app_update/libapp_update.a esp-idf/esp_mm/libesp_mm.a esp-idf/spi_flash/libspi_flash.a esp-idf/pthread/libpthread.a esp-idf/esp_system/libesp_system.a esp-idf/esp_rom/libesp_rom.a esp-idf/hal/libhal.a esp-idf/log/liblog.a esp-idf/heap/libheap.a esp-idf/soc/libsoc.a esp-idf/esp_hw_support/libesp_hw_support.a esp-idf/freertos/libfreertos.a esp-idf/newlib/libnewlib.a esp-idf/cxx/libcxx.a esp-idf/esp_common/libesp_common.a esp-idf/esp_timer/libesp_timer.a esp-idf/app_trace/libapp_trace.a esp-idf/esp_event/libesp_event.a esp-idf/nvs_flash/libnvs_flash.a esp-idf/esp_phy/libesp_phy.a esp-idf/vfs/libvfs.a esp-idf/lwip/liblwip.a esp-idf/esp_netif/libesp_netif.a esp-idf/wpa_supplicant/libwpa_supplicant.a esp-idf/esp_coex/libesp_coex.a esp-idf/esp_wifi/libesp_wifi.a esp-idf/unity/libunity.a esp-idf/cmock/libcmock.a esp-idf/console/libconsole.a esp-idf/http_parser/libhttp_parser.a esp-idf/esp-tls/libesp-tls.a esp-idf/esp_adc/libesp_adc.a esp-idf/esp_eth/libesp_eth.a esp-idf/esp_gdbstub/libesp_gdbstub.a esp-idf/esp_hid/libesp_hid.a esp-idf/tcp_transport/libtcp_transport.a esp-idf/esp_http_client/libesp_http_client.a esp-idf/esp_http_server/libesp_http_server.a esp-idf/esp_https_ota/libesp_https_ota.a esp-idf/esp_lcd/libesp_lcd.a esp-idf/protobuf-c/libprotobuf-c.a esp-idf/protocomm/libprotocomm.a esp-idf/esp_local_ctrl/libesp_local_ctrl.a esp-idf/espcoredump/libespcoredump.a esp-idf/wear_levelling/libwear_levelling.a esp-idf/sdmmc/libsdmmc.a esp-idf/fatfs/libfatfs.a esp-idf/json/libjson.a esp-idf/mqtt/libmqtt.a esp-idf/perfmon/libperfmon.a esp-idf/spiffs/libspiffs.a esp-idf/wifi_provisioning/libwifi_provisioning.a esp-idf/espressif__esp_modem/libespressif__esp_modem.a esp-idf/espressif__iot_bridge/libespressif__iot_bridge.a esp-idf/mesh_lite/libmesh_lite.a esp-idf/main/libmain.a esp-idf/chmorgan__esp-libhelix-mp3/libchmorgan__esp-libhelix-mp3.a esp-idf/espressif__mdns/libespressif__mdns.a esp-idf/arduino/libarduino.a esp-idf/app_trace/libapp_trace.a esp-idf/app_trace/libapp_trace.a esp-idf/cmock/libcmock.a esp-idf/unity/libunity.a esp-idf/esp_lcd/libesp_lcd.a esp-idf/esp_local_ctrl/libesp_local_ctrl.a esp-idf/espcoredump/libespcoredump.a esp-idf/mqtt/libmqtt.a esp-idf/perfmon/libperfmon.a esp-idf/mesh_lite/libmesh_lite.a /Users/chrislloyd/esp/esp-mesh-chris/components/mesh_lite/lib/libesp_mesh_lite_esp32.a esp-idf/mesh_lite/libmesh_lite.a /Users/chrislloyd/esp/esp-mesh-chris/components/mesh_lite/lib/libesp_mesh_lite_esp32.a esp-idf/espressif__iot_bridge/libespressif__iot_bridge.a esp-idf/espressif__esp_modem/libespressif__esp_modem.a esp-idf/esp_hid/libesp_hid.a esp-idf/fatfs/libfatfs.a esp-idf/wear_levelling/libwear_levelling.a esp-idf/sdmmc/libsdmmc.a esp-idf/spiffs/libspiffs.a esp-idf/wifi_provisioning/libwifi_provisioning.a esp-idf/protocomm/libprotocomm.a esp-idf/protobuf-c/libprotobuf-c.a esp-idf/json/libjson.a esp-idf/chmorgan__esp-libhelix-mp3/libchmorgan__esp-libhelix-mp3.a esp-idf/espressif__mdns/libespressif__mdns.a esp-idf/console/libconsole.a esp-idf/xtensa/libxtensa.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/esp_app_format/libesp_app_format.a esp-idf/bootloader_support/libbootloader_support.a esp-idf/esp_partition/libesp_partition.a esp-idf/app_update/libapp_update.a esp-idf/esp_mm/libesp_mm.a esp-idf/spi_flash/libspi_flash.a esp-idf/pthread/libpthread.a esp-idf/esp_system/libesp_system.a esp-idf/esp_rom/libesp_rom.a esp-idf/hal/libhal.a esp-idf/log/liblog.a esp-idf/heap/libheap.a esp-idf/soc/libsoc.a esp-idf/esp_hw_support/libesp_hw_support.a esp-idf/freertos/libfreertos.a esp-idf/newlib/libnewlib.a esp-idf/cxx/libcxx.a esp-idf/esp_common/libesp_common.a esp-idf/esp_timer/libesp_timer.a esp-idf/esp_event/libesp_event.a esp-idf/nvs_flash/libnvs_flash.a esp-idf/esp_phy/libesp_phy.a esp-idf/vfs/libvfs.a esp-idf/lwip/liblwip.a esp-idf/esp_netif/libesp_netif.a esp-idf/wpa_supplicant/libwpa_supplicant.a esp-idf/esp_coex/libesp_coex.a esp-idf/esp_wifi/libesp_wifi.a esp-idf/http_parser/libhttp_parser.a esp-idf/esp-tls/libesp-tls.a esp-idf/esp_adc/libesp_adc.a esp-idf/esp_eth/libesp_eth.a esp-idf/esp_gdbstub/libesp_gdbstub.a esp-idf/tcp_transport/libtcp_transport.a esp-idf/esp_http_client/libesp_http_client.a esp-idf/esp_http_server/libesp_http_server.a esp-idf/esp_https_ota/libesp_https_ota.a esp-idf/mbedtls/mbedtls/library/libmbedtls.a esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a esp-idf/mbedtls/mbedtls/library/libmbedx509.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libcore.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libespnow.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libmesh.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libpp.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libwapi.a esp-idf/xtensa/libxtensa.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/esp_app_format/libesp_app_format.a esp-idf/bootloader_support/libbootloader_support.a esp-idf/esp_partition/libesp_partition.a esp-idf/app_update/libapp_update.a esp-idf/esp_mm/libesp_mm.a esp-idf/spi_flash/libspi_flash.a esp-idf/pthread/libpthread.a esp-idf/esp_system/libesp_system.a esp-idf/esp_rom/libesp_rom.a esp-idf/hal/libhal.a esp-idf/log/liblog.a esp-idf/heap/libheap.a esp-idf/soc/libsoc.a esp-idf/esp_hw_support/libesp_hw_support.a esp-idf/freertos/libfreertos.a esp-idf/newlib/libnewlib.a esp-idf/cxx/libcxx.a esp-idf/esp_common/libesp_common.a esp-idf/esp_timer/libesp_timer.a esp-idf/esp_event/libesp_event.a esp-idf/nvs_flash/libnvs_flash.a esp-idf/esp_phy/libesp_phy.a esp-idf/vfs/libvfs.a esp-idf/lwip/liblwip.a esp-idf/esp_netif/libesp_netif.a esp-idf/wpa_supplicant/libwpa_supplicant.a esp-idf/esp_coex/libesp_coex.a esp-idf/esp_wifi/libesp_wifi.a esp-idf/http_parser/libhttp_parser.a esp-idf/esp-tls/libesp-tls.a esp-idf/esp_adc/libesp_adc.a esp-idf/esp_eth/libesp_eth.a esp-idf/esp_gdbstub/libesp_gdbstub.a esp-idf/tcp_transport/libtcp_transport.a esp-idf/esp_http_client/libesp_http_client.a esp-idf/esp_http_server/libesp_http_server.a esp-idf/esp_https_ota/libesp_https_ota.a esp-idf/mbedtls/mbedtls/library/libmbedtls.a esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a esp-idf/mbedtls/mbedtls/library/libmbedx509.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libcore.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libespnow.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libmesh.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libpp.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libwapi.a esp-idf/xtensa/libxtensa.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/esp_app_format/libesp_app_format.a esp-idf/bootloader_support/libbootloader_support.a esp-idf/esp_partition/libesp_partition.a esp-idf/app_update/libapp_update.a esp-idf/esp_mm/libesp_mm.a esp-idf/spi_flash/libspi_flash.a esp-idf/pthread/libpthread.a esp-idf/esp_system/libesp_system.a esp-idf/esp_rom/libesp_rom.a esp-idf/hal/libhal.a esp-idf/log/liblog.a esp-idf/heap/libheap.a esp-idf/soc/libsoc.a esp-idf/esp_hw_support/libesp_hw_support.a esp-idf/freertos/libfreertos.a esp-idf/newlib/libnewlib.a esp-idf/cxx/libcxx.a esp-idf/esp_common/libesp_common.a esp-idf/esp_timer/libesp_timer.a esp-idf/esp_event/libesp_event.a esp-idf/nvs_flash/libnvs_flash.a esp-idf/esp_phy/libesp_phy.a esp-idf/vfs/libvfs.a esp-idf/lwip/liblwip.a esp-idf/esp_netif/libesp_netif.a esp-idf/wpa_supplicant/libwpa_supplicant.a esp-idf/esp_coex/libesp_coex.a esp-idf/esp_wifi/libesp_wifi.a esp-idf/http_parser/libhttp_parser.a esp-idf/esp-tls/libesp-tls.a esp-idf/esp_adc/libesp_adc.a esp-idf/esp_eth/libesp_eth.a esp-idf/esp_gdbstub/libesp_gdbstub.a esp-idf/tcp_transport/libtcp_transport.a esp-idf/esp_http_client/libesp_http_client.a esp-idf/esp_http_server/libesp_http_server.a esp-idf/esp_https_ota/libesp_https_ota.a esp-idf/mbedtls/mbedtls/library/libmbedtls.a esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a esp-idf/mbedtls/mbedtls/library/libmbedx509.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libcore.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libespnow.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libmesh.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libpp.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libwapi.a esp-idf/xtensa/libxtensa.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/esp_app_format/libesp_app_format.a esp-idf/bootloader_support/libbootloader_support.a esp-idf/esp_partition/libesp_partition.a esp-idf/app_update/libapp_update.a esp-idf/esp_mm/libesp_mm.a esp-idf/spi_flash/libspi_flash.a esp-idf/pthread/libpthread.a esp-idf/esp_system/libesp_system.a esp-idf/esp_rom/libesp_rom.a esp-idf/hal/libhal.a esp-idf/log/liblog.a esp-idf/heap/libheap.a esp-idf/soc/libsoc.a esp-idf/esp_hw_support/libesp_hw_support.a esp-idf/freertos/libfreertos.a esp-idf/newlib/libnewlib.a esp-idf/cxx/libcxx.a esp-idf/esp_common/libesp_common.a esp-idf/esp_timer/libesp_timer.a esp-idf/esp_event/libesp_event.a esp-idf/nvs_flash/libnvs_flash.a esp-idf/esp_phy/libesp_phy.a esp-idf/vfs/libvfs.a esp-idf/lwip/liblwip.a esp-idf/esp_netif/libesp_netif.a esp-idf/wpa_supplicant/libwpa_supplicant.a esp-idf/esp_coex/libesp_coex.a esp-idf/esp_wifi/libesp_wifi.a esp-idf/http_parser/libhttp_parser.a esp-idf/esp-tls/libesp-tls.a esp-idf/esp_adc/libesp_adc.a esp-idf/esp_eth/libesp_eth.a esp-idf/esp_gdbstub/libesp_gdbstub.a esp-idf/tcp_transport/libtcp_transport.a esp-idf/esp_http_client/libesp_http_client.a esp-idf/esp_http_server/libesp_http_server.a esp-idf/esp_https_ota/libesp_https_ota.a esp-idf/mbedtls/mbedtls/library/libmbedtls.a esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a esp-idf/mbedtls/mbedtls/library/libmbedx509.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libcore.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libespnow.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libmesh.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libpp.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libwapi.a esp-idf/xtensa/libxtensa.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/esp_app_format/libesp_app_format.a esp-idf/bootloader_support/libbootloader_support.a esp-idf/esp_partition/libesp_partition.a esp-idf/app_update/libapp_update.a esp-idf/esp_mm/libesp_mm.a esp-idf/spi_flash/libspi_flash.a esp-idf/pthread/libpthread.a esp-idf/esp_system/libesp_system.a esp-idf/esp_rom/libesp_rom.a esp-idf/hal/libhal.a esp-idf/log/liblog.a esp-idf/heap/libheap.a esp-idf/soc/libsoc.a esp-idf/esp_hw_support/libesp_hw_support.a esp-idf/freertos/libfreertos.a esp-idf/newlib/libnewlib.a esp-idf/cxx/libcxx.a esp-idf/esp_common/libesp_common.a esp-idf/esp_timer/libesp_timer.a esp-idf/esp_event/libesp_event.a esp-idf/nvs_flash/libnvs_flash.a esp-idf/esp_phy/libesp_phy.a esp-idf/vfs/libvfs.a esp-idf/lwip/liblwip.a esp-idf/esp_netif/libesp_netif.a esp-idf/wpa_supplicant/libwpa_supplicant.a esp-idf/esp_coex/libesp_coex.a esp-idf/esp_wifi/libesp_wifi.a esp-idf/http_parser/libhttp_parser.a esp-idf/esp-tls/libesp-tls.a esp-idf/esp_adc/libesp_adc.a esp-idf/esp_eth/libesp_eth.a esp-idf/esp_gdbstub/libesp_gdbstub.a esp-idf/tcp_transport/libtcp_transport.a esp-idf/esp_http_client/libesp_http_client.a esp-idf/esp_http_server/libesp_http_server.a esp-idf/esp_https_ota/libesp_https_ota.a esp-idf/mbedtls/mbedtls/library/libmbedtls.a esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a esp-idf/mbedtls/mbedtls/library/libmbedx509.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libcore.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libespnow.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libmesh.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libnet80211.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libpp.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libsmartconfig.a /Users/chrislloyd/esp-idf/components/esp_wifi/lib/esp32/libwapi.a /Users/chrislloyd/esp-idf/components/xtensa/esp32/libxt_hal.a -u esp_app_desc -u pthread_include_pthread_impl -u pthread_include_pthread_cond_var_impl -u pthread_include_pthread_local_storage_impl -u pthread_include_pthread_rwlock_impl -u pthread_include_pthread_semaphore_impl -u ld_include_highint_hdl -u start_app -u __ubsan_include -Wl,--wrap=longjmp -u __assert_func -u esp_dport_access_reg_read -Wl,--undefined=uxTopUsedPriority -Wl,--undefined=FreeRTOS_openocd_params -u app_main -lc -lm esp-idf/newlib/libnewlib.a -u newlib_include_heap_impl -u newlib_include_syscalls_impl -u newlib_include_pthread_impl -u newlib_include_assert_impl -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting -Wl,--wrap=__register_frame_info_bases -Wl,--wrap=__register_frame_info -Wl,--wrap=__register_frame -Wl,--wrap=__register_frame_info_table_bases -Wl,--wrap=__register_frame_info_table -Wl,--wrap=__register_frame_table -Wl,--wrap=__deregister_frame_info_bases -Wl,--wrap=__deregister_frame_info -Wl,--wrap=_Unwind_Find_FDE -Wl,--wrap=_Unwind_GetGR -Wl,--wrap=_Unwind_GetCFA -Wl,--wrap=_Unwind_GetIP -Wl,--wrap=_Unwind_GetIPInfo -Wl,--wrap=_Unwind_GetRegionStart -Wl,--wrap=_Unwind_GetDataRelBase -Wl,--wrap=_Unwind_GetTextRelBase -Wl,--wrap=_Unwind_SetIP -Wl,--wrap=_Unwind_SetGR -Wl,--wrap=_Unwind_GetLanguageSpecificData -Wl,--wrap=_Unwind_FindEnclosingFunction -Wl,--wrap=_Unwind_Resume -Wl,--wrap=_Unwind_RaiseException -Wl,--wrap=_Unwind_DeleteException -Wl,--wrap=_Unwind_ForcedUnwind -Wl,--wrap=_Unwind_Resume_or_Rethrow -Wl,--wrap=_Unwind_Backtrace -Wl,--wrap=__cxa_call_unexpected -Wl,--wrap=__gxx_personality_v0 -u __cxa_guard_dummy -lstdc++ esp-idf/pthread/libpthread.a -lgcc esp-idf/cxx/libcxx.a -u __cxx_fatal_exception -u include_esp_phy_override -lphy -lrtc esp-idf/esp_phy/libesp_phy.a -lphy -lrtc esp-idf/esp_phy/libesp_phy.a -lphy -lrtc -u vfs_include_syscalls_impl && :
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj):(.literal._Z14streamCallback15MultiPathStream+0x14): undefined reference to _ZN15MultiPathStream3getERK6String' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj):(.literal._Z21streamTimeoutCallbackb+0xc): undefined reference to _ZN12FirebaseData13httpConnectedEv'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj):(.literal._Z21streamTimeoutCallbackb+0x10): undefined reference to _ZN12FirebaseData8httpCodeEv' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj):(.literal._Z21streamTimeoutCallbackb+0x14): undefined reference to _ZN12FirebaseData11errorReasonEv'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj):(.literal._Z41__static_initialization_and_destruction_0ii+0x2c): undefined reference to _ZN12FirebaseDataC1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj):(.literal._Z41__static_initialization_and_destruction_0ii+0x30): undefined reference to _ZN12FirebaseDataD1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj):(.literal.ZN7FB_RTDB20beginMultiPathStreamI6StringEEbP12FirebaseDataT[ZN7FB_RTDB20beginMultiPathStreamI6StringEEbP12FirebaseDataT]+0x0): undefined reference to _ZN7FB_RTDB21mBeginMultiPathStreamEP12FirebaseDataN9mb_string15mb_string_ptr_tE' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj):(.literal._ZL25print_system_info_timercbP15tmrTimerControl+0x40): undefined reference to _ZN7FB_RTDB26setMultiPathStreamCallbackEP12FirebaseDataPFv15MultiPathStreamEPFvbEj'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj): in function _Z14streamCallback15MultiPathStream': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/main/local_control.C:56: undefined reference to _ZN15MultiPathStream3getERK6String'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj): in function _Z21streamTimeoutCallbackb': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/main/local_control.C:67: undefined reference to _ZN12FirebaseData13httpConnectedEv'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/main/local_control.C:68: undefined reference to _ZN12FirebaseData8httpCodeEv' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/main/local_control.C:68: undefined reference to _ZN12FirebaseData11errorReasonEv'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj): in function _ZN9MB_StringD4Ev': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/json/MB_String.h:511: undefined reference to _ZN12FirebaseDataC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj): in function _ZN14firebase_cfg_tD2Ev': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/./FB_Const.h:1371: undefined reference to _ZN12FirebaseDataC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj): in function _Z41__static_initialization_and_destruction_0ii': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/main/local_control.C:48: undefined reference to _ZN12FirebaseDataD1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj): in function _ZN31firebase_auth_signin_provider_tD4Ev': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/./FB_Const.h:1004: undefined reference to _ZN12FirebaseDataD1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj): in function _ZN7FB_RTDB20beginMultiPathStreamI6StringEEbP12FirebaseDataT_': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/rtdb/FB_RTDB.h:2160: undefined reference to _ZN7FB_RTDB21mBeginMultiPathStreamEP12FirebaseDataN9mb_string15mb_string_ptr_tE'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj): in function _ZL25print_system_info_timercbP15tmrTimerControl': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/main/local_control.C:205: undefined reference to _ZN12FirebaseData11errorReasonEv'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/main/libmain.a(local_control.C.obj): in function _ZNK6String6bufferEv': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/cores/esp32/WString.h:339: undefined reference to _ZN7FB_RTDB26setMultiPathStreamCallbackEP12FirebaseDataPFv15MultiPathStreamEPFvbEj'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientC2Ev+0x0): undefined reference to Core' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientC2Ev+0x4): undefined reference to _ZN7FB_RTDBC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientC2Ev+0x8): undefined reference to _ZN5FB_CMC1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientC2Ev+0xc): undefined reference to _ZN10FB_StorageC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientC2Ev+0x10): undefined reference to _ZN12FB_FirestoreC1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientC2Ev+0x14): undefined reference to _ZN12FB_FunctionsC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientC2Ev+0x18): undefined reference to _ZN15GG_CloudStorageC1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientC2Ev+0x1c): undefined reference to _ZN12FirebaseCore5beginEP14firebase_cfg_tP31firebase_auth_signin_provider_t'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_Client16reconnectNetworkEb+0x4): undefined reference to _ZN12FirebaseCore23setAutoReconnectNetworkEb' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientD2Ev+0x0): undefined reference to _ZN15GG_CloudStorageD1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientD2Ev+0x4): undefined reference to _ZN12FB_FunctionsD1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientD2Ev+0x8): undefined reference to _ZN12FB_FirestoreD1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientD2Ev+0xc): undefined reference to _ZN10FB_StorageD1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientD2Ev+0x10): undefined reference to _ZN5FB_CMD1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_ClientD2Ev+0x14): undefined reference to _ZN7FB_RTDBD1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_Client5beginEP14firebase_cfg_tP31firebase_auth_signin_provider_t+0x0): undefined reference to Core'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_Client5beginEP14firebase_cfg_tP31firebase_auth_signin_provider_t+0x4): undefined reference to _ZN12FirebaseCore20checkAuthTypeChangedEP14firebase_cfg_tP31firebase_auth_signin_provider_t' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_Client5beginEP14firebase_cfg_tP31firebase_auth_signin_provider_t+0x8): undefined reference to _ZN12FirebaseCore13requestTokensEb'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_Client5beginEP14firebase_cfg_tP31firebase_auth_signin_provider_t+0xc): undefined reference to _ZN12FirebaseCore12refreshTokenEv' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj):(.literal._ZN19Firebase_ESP_Client5beginEP14firebase_cfg_tP31firebase_auth_signin_provider_t+0x10): undefined reference to _ZN12FirebaseCore11handleTokenEv'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj): in function _ZNK9MB_String5c_strEv': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/json/MB_String.h:1080: undefined reference to _ZN7FB_RTDBC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj): in function _ZN19Firebase_ESP_ClientC2Ev': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/FB_Utils.h:338: undefined reference to _ZN5FB_CMC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj): in function _ZN9MB_StringD4Ev': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/json/MB_String.h:511: undefined reference to _ZN10FB_StorageC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj): in function _ZN19Firebase_ESP_ClientC2Ev': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/FB_Utils.h:342: undefined reference to _ZN12FB_FirestoreC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/FB_Utils.h:342: undefined reference to _ZN12FB_FunctionsC1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/FB_Utils.h:343: undefined reference to _ZN15GG_CloudStorageC1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj): in function _ZN5MB_FS4delPEPv': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/././mbfs/MB_FS.h:804: undefined reference to _ZN12FirebaseCore5beginEP14firebase_cfg_tP31firebase_auth_signin_provider_t'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj): in function _ZN19Firebase_ESP_Client16reconnectNetworkEb': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:329: undefined reference to _ZN12FirebaseCore23setAutoReconnectNetworkEb'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj): in function _ZN19Firebase_ESP_ClientD2Ev': /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:55: undefined reference to _ZN15GG_CloudStorageD1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:58: undefined reference to _ZN12FB_FunctionsD1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:58: undefined reference to _ZN12FB_FirestoreD1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:58: undefined reference to _ZN10FB_StorageD1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:58: undefined reference to _ZN5FB_CMD1Ev'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:58: undefined reference to _ZN7FB_RTDBD1Ev' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj): in function _ZN19Firebase_ESP_Client4initEP14firebase_cfg_tP31firebase_auth_signin_provider_t':
/Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:319: undefined reference to _ZN12FirebaseCore5beginEP14firebase_cfg_tP31firebase_auth_signin_provider_t' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(Firebase.cpp.obj): in function _ZN19Firebase_ESP_Client5beginEP14firebase_cfg_tP31firebase_auth_signin_provider_t':
/Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:74: undefined reference to _ZN12FirebaseCore20checkAuthTypeChangedEP14firebase_cfg_tP31firebase_auth_signin_provider_t' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:110: undefined reference to _ZN12FirebaseCore13requestTokensEb'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:112: undefined reference to _ZN12FirebaseCore12refreshTokenEv' /Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: /Users/chrislloyd/esp/esp-mesh-chris/examples/mesh_local_control/components/arduino/libraries/Firebase-ESP-Client/src/Firebase.cpp:115: undefined reference to _ZN12FirebaseCore11handleTokenEv'
/Users/chrislloyd/.espressif/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/12.2.0/../../../../xtensa-esp32-elf/bin/ld: esp-idf/arduino/libarduino.a(vfs_api.cpp.obj):(.literal._ZN11VFSFileImplD2Ev+0x4): undefined reference to `_ZTVN2fs8FileImplE'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

mobizt commented

The library with this example compilation is fine without any warning with full debug level (verbose) in Arduino IDE and PlatformIO under Arduino Framework.

The error in your case is esp-idf compiler related issue which you should debug it yourself.

There are two variables with the same name stream which defined globally from FirebaseData object and defined locally as the callback function parameter from MultiPathStream object in streamCallback.

From the error you post above, I guess that you accidently call the member functions that never existed from one of these class objects somewhere in your code because they have the same name.

I recommend you renaming the variable name 'stream' to other name.