ESPHap icon indicating copy to clipboard operation
ESPHap copied to clipboard

Compilation error of the LED Example

Open emanuelelaface opened this issue 3 years ago • 2 comments

I am using a OLIMEX ESP32-EVB. With Arduino IDE 1.8.13 and the latest ESPHap. If I compile an Arduino led blinking example it works perfectly, the same if I compile the WIFI scan example I can scan the networks at home and have a list. I tried also the the ESP32 ChipID example and I can get my chip ID on the serial console, so I think the board is up and running without issues.

But when I run the EspHapLed I get several errors about cJSON and other components with multiple definitions. I think this is due to the use of esp32 1.0.5-rc4 instead of the stable. That is due to the fact that the previous release does not run with the latest MacOS installation, so I guess that from the next release this error will be produced also by the stable. Is there something that I can do to avoid this error?

/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_GetErrorPtr':
/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/json/cJSON/cJSON.c:78: multiple definition of `cJSON_GetErrorPtr'
libraries/ESPHap/cJSON.c.o:/Users/ema/Documents/Arduino/libraries/ESPHap/cJSON.c:72: first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_Version':
cJSON.c:(.text.cJSON_Version+0x0): multiple definition of `cJSON_Version'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_Version+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_InitHooks':
cJSON.c:(.text.cJSON_InitHooks+0x0): multiple definition of `cJSON_InitHooks'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_InitHooks+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_Delete':
cJSON.c:(.text.cJSON_Delete+0x0): multiple definition of `cJSON_Delete'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_Delete+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_SetNumberHelper':
cJSON.c:(.text.cJSON_SetNumberHelper+0x0): multiple definition of `cJSON_SetNumberHelper'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_SetNumberHelper+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_ParseWithOpts':
cJSON.c:(.text.cJSON_ParseWithOpts+0x0): multiple definition of `cJSON_ParseWithOpts'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_ParseWithOpts+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_Parse':
cJSON.c:(.text.cJSON_Parse+0x0): multiple definition of `cJSON_Parse'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_Parse+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_Print':
cJSON.c:(.text.cJSON_Print+0x0): multiple definition of `cJSON_Print'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_Print+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_PrintUnformatted':
cJSON.c:(.text.cJSON_PrintUnformatted+0x0): multiple definition of `cJSON_PrintUnformatted'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_PrintUnformatted+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_PrintBuffered':
cJSON.c:(.text.cJSON_PrintBuffered+0x0): multiple definition of `cJSON_PrintBuffered'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_PrintBuffered+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_PrintPreallocated':
cJSON.c:(.text.cJSON_PrintPreallocated+0x0): multiple definition of `cJSON_PrintPreallocated'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_PrintPreallocated+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_GetArraySize':
cJSON.c:(.text.cJSON_GetArraySize+0x0): multiple definition of `cJSON_GetArraySize'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_GetArraySize+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_GetArrayItem':
Multiple libraries were found for "WiFi.h"
 Used: /Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/libraries/WiFi
 Not used: /Applications/Arduino.app/Contents/Java/libraries/WiFi
cJSON.c:(.text.cJSON_GetArrayItem+0x0): multiple definition of `cJSON_GetArrayItem'
 Not used: /Users/ema/Documents/Arduino/libraries/WiFiNINA
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_GetArrayItem+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_GetObjectItem':
cJSON.c:(.text.cJSON_GetObjectItem+0x0): multiple definition of `cJSON_GetObjectItem'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_GetObjectItem+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_GetObjectItemCaseSensitive':
cJSON.c:(.text.cJSON_GetObjectItemCaseSensitive+0x0): multiple definition of `cJSON_GetObjectItemCaseSensitive'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_GetObjectItemCaseSensitive+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_HasObjectItem':
cJSON.c:(.text.cJSON_HasObjectItem+0x0): multiple definition of `cJSON_HasObjectItem'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_HasObjectItem+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_AddItemToArray':
cJSON.c:(.text.cJSON_AddItemToArray+0x0): multiple definition of `cJSON_AddItemToArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_AddItemToArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_AddItemToObject':
cJSON.c:(.text.cJSON_AddItemToObject+0x0): multiple definition of `cJSON_AddItemToObject'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_AddItemToObject+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_AddItemToObjectCS':
cJSON.c:(.text.cJSON_AddItemToObjectCS+0x0): multiple definition of `cJSON_AddItemToObjectCS'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_AddItemToObjectCS+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_AddItemReferenceToArray':
cJSON.c:(.text.cJSON_AddItemReferenceToArray+0x0): multiple definition of `cJSON_AddItemReferenceToArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_AddItemReferenceToArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_AddItemReferenceToObject':
cJSON.c:(.text.cJSON_AddItemReferenceToObject+0x0): multiple definition of `cJSON_AddItemReferenceToObject'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_AddItemReferenceToObject+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_DetachItemViaPointer':
cJSON.c:(.text.cJSON_DetachItemViaPointer+0x0): multiple definition of `cJSON_DetachItemViaPointer'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_DetachItemViaPointer+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_DetachItemFromArray':
cJSON.c:(.text.cJSON_DetachItemFromArray+0x0): multiple definition of `cJSON_DetachItemFromArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_DetachItemFromArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_DeleteItemFromArray':
cJSON.c:(.text.cJSON_DeleteItemFromArray+0x0): multiple definition of `cJSON_DeleteItemFromArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_DeleteItemFromArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_DetachItemFromObject':
cJSON.c:(.text.cJSON_DetachItemFromObject+0x0): multiple definition of `cJSON_DetachItemFromObject'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_DetachItemFromObject+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_DetachItemFromObjectCaseSensitive':
cJSON.c:(.text.cJSON_DetachItemFromObjectCaseSensitive+0x0): multiple definition of `cJSON_DetachItemFromObjectCaseSensitive'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_DetachItemFromObjectCaseSensitive+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_DeleteItemFromObject':
cJSON.c:(.text.cJSON_DeleteItemFromObject+0x0): multiple definition of `cJSON_DeleteItemFromObject'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_DeleteItemFromObject+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_DeleteItemFromObjectCaseSensitive':
cJSON.c:(.text.cJSON_DeleteItemFromObjectCaseSensitive+0x0): multiple definition of `cJSON_DeleteItemFromObjectCaseSensitive'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_DeleteItemFromObjectCaseSensitive+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_InsertItemInArray':
cJSON.c:(.text.cJSON_InsertItemInArray+0x0): multiple definition of `cJSON_InsertItemInArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_InsertItemInArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_ReplaceItemViaPointer':
cJSON.c:(.text.cJSON_ReplaceItemViaPointer+0x0): multiple definition of `cJSON_ReplaceItemViaPointer'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_ReplaceItemViaPointer+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_ReplaceItemInArray':
cJSON.c:(.text.cJSON_ReplaceItemInArray+0x0): multiple definition of `cJSON_ReplaceItemInArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_ReplaceItemInArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateNull':
cJSON.c:(.text.cJSON_CreateNull+0x0): multiple definition of `cJSON_CreateNull'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateNull+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateTrue':
cJSON.c:(.text.cJSON_CreateTrue+0x0): multiple definition of `cJSON_CreateTrue'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateTrue+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateFalse':
cJSON.c:(.text.cJSON_CreateFalse+0x0): multiple definition of `cJSON_CreateFalse'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateFalse+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateBool':
cJSON.c:(.text.cJSON_CreateBool+0x0): multiple definition of `cJSON_CreateBool'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateBool+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateNumber':
cJSON.c:(.text.cJSON_CreateNumber+0x0): multiple definition of `cJSON_CreateNumber'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateNumber+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateString':
cJSON.c:(.text.cJSON_CreateString+0x0): multiple definition of `cJSON_CreateString'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateString+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateRaw':
cJSON.c:(.text.cJSON_CreateRaw+0x0): multiple definition of `cJSON_CreateRaw'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateRaw+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateArray':
cJSON.c:(.text.cJSON_CreateArray+0x0): multiple definition of `cJSON_CreateArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateObject':
cJSON.c:(.text.cJSON_CreateObject+0x0): multiple definition of `cJSON_CreateObject'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateObject+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateIntArray':
cJSON.c:(.text.cJSON_CreateIntArray+0x0): multiple definition of `cJSON_CreateIntArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateIntArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateFloatArray':
cJSON.c:(.text.cJSON_CreateFloatArray+0x0): multiple definition of `cJSON_CreateFloatArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateFloatArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateDoubleArray':
cJSON.c:(.text.cJSON_CreateDoubleArray+0x0): multiple definition of `cJSON_CreateDoubleArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateDoubleArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_CreateStringArray':
cJSON.c:(.text.cJSON_CreateStringArray+0x0): multiple definition of `cJSON_CreateStringArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_CreateStringArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_Duplicate':
cJSON.c:(.text.cJSON_Duplicate+0x0): multiple definition of `cJSON_Duplicate'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_Duplicate+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_Minify':
cJSON.c:(.text.cJSON_Minify+0x0): multiple definition of `cJSON_Minify'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_Minify+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsInvalid':
cJSON.c:(.text.cJSON_IsInvalid+0x0): multiple definition of `cJSON_IsInvalid'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsInvalid+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsFalse':
cJSON.c:(.text.cJSON_IsFalse+0x0): multiple definition of `cJSON_IsFalse'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsFalse+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsTrue':
cJSON.c:(.text.cJSON_IsTrue+0x0): multiple definition of `cJSON_IsTrue'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsTrue+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsBool':
cJSON.c:(.text.cJSON_IsBool+0x0): multiple definition of `cJSON_IsBool'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsBool+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsNull':
cJSON.c:(.text.cJSON_IsNull+0x0): multiple definition of `cJSON_IsNull'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsNull+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsNumber':
cJSON.c:(.text.cJSON_IsNumber+0x0): multiple definition of `cJSON_IsNumber'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsNumber+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsString':
cJSON.c:(.text.cJSON_IsString+0x0): multiple definition of `cJSON_IsString'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsString+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsArray':
cJSON.c:(.text.cJSON_IsArray+0x0): multiple definition of `cJSON_IsArray'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsArray+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsObject':
cJSON.c:(.text.cJSON_IsObject+0x0): multiple definition of `cJSON_IsObject'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsObject+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_IsRaw':
cJSON.c:(.text.cJSON_IsRaw+0x0): multiple definition of `cJSON_IsRaw'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_IsRaw+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_Compare':
cJSON.c:(.text.cJSON_Compare+0x0): multiple definition of `cJSON_Compare'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_Compare+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_malloc':
cJSON.c:(.text.cJSON_malloc+0x0): multiple definition of `cJSON_malloc'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_malloc+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_free':
cJSON.c:(.text.cJSON_free+0x0): multiple definition of `cJSON_free'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_free+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_ReplaceItemInObject':
cJSON.c:(.text.cJSON_ReplaceItemInObject+0x0): multiple definition of `cJSON_ReplaceItemInObject'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_ReplaceItemInObject+0x0): first defined here
/Users/ema/Library/Arduino15/packages/esp32/hardware/esp32/1.0.5-rc4/tools/sdk/lib/libjson.a(cJSON.o): In function `cJSON_ReplaceItemInObjectCaseSensitive':
cJSON.c:(.text.cJSON_ReplaceItemInObjectCaseSensitive+0x0): multiple definition of `cJSON_ReplaceItemInObjectCaseSensitive'
libraries/ESPHap/cJSON.c.o:cJSON.c:(.text.cJSON_ReplaceItemInObjectCaseSensitive+0x0): first defined here
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board OLIMEX ESP32-EVB.

emanuelelaface avatar Dec 26 '20 21:12 emanuelelaface

Ok I find a workaround (maybe useful for other users with MacOS Big Sure for the moment) I removed the file cJSON.c from libraries/ESPHap because anyway there is the same set of definitions in the library of ESP32, so it is redundant. In this way at least the LED example compiles and works perfectly. I think this conflict should be solved in a more elegant way (a check on the release of the lib?) but for the moment I can work with it. Thanks for the amazing library, it is very useful.

emanuelelaface avatar Dec 26 '20 22:12 emanuelelaface

Ok I find a workaround (maybe useful for other users with MacOS Big Sure for the moment) I removed the file cJSON.c from libraries/ESPHap because anyway there is the same set of definitions in the library of ESP32, so it is redundant. In this way at least the LED example compiles and works perfectly. I think this conflict should be solved in a more elegant way (a check on the release of the lib?) but for the moment I can work with it. Thanks for the amazing library, it is very useful.

I've been trying to fix this error from 3 hours and after tons of useless comments, this is what helped me... Thank you!!!

varuncornelio avatar Mar 23 '22 06:03 varuncornelio