platformio / platformio-core

Your Gateway to Embedded Software Development Excellence :alien:
https://platformio.org
Apache License 2.0
7.86k stars 790 forks source link

LDF adds wrong libs #3382

Closed devcpu closed 4 years ago

devcpu commented 4 years ago

Configuration

Operating system:

Linux Mint

PlatformIO Version

PlatformIO, version 4.1.0

Description of problem

LDF add ESPAsyncTCP AND AsyncTCP to the build

Steps to Reproduce

Actual Results

LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 66 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <sLoRaAPRS>
|   |-- <config>
|   |-- <ESP Async WebServer> 1.2.3
|   |   |-- <ESPAsyncTCP> 1.2.2
|   |   |-- <AsyncTCP> 1.1.1
|   |   |-- <FS> 1.0
|   |   |-- <WiFi> 1.0
|   |   |-- <ArduinoJson> 6.14.1
|   |-- <ArduinoJson> 6.14.1
|   |-- <ArduinoOTA> 1.0
|   |   |-- <Update> 1.0
|   |   |-- <WiFi> 1.0
|   |   |-- <ESPmDNS> 1.0
|   |   |   |-- <WiFi> 1.0
|   |-- <Preferences> 1.0
|   |-- <TinyGPSPlus> 1.0.2
|   |-- <AsyncTCP> 1.1.1
|   |-- <ESPAsyncTCP> 1.2.2
|   |-- <ESPmDNS> 1.0
|   |   |-- <WiFi> 1.0
|   |-- <FS> 1.0
|   |-- <SPIFFS> 1.0
|   |   |-- <FS> 1.0
|   |-- <WiFi> 1.0
|   |-- <Adafruit BME280 Library> 2.0.1
|   |   |-- <Adafruit Unified Sensor> 1.1.2
|   |   |-- <SPI> 1.0
|   |   |   |-- <ttgo-lora32-v2z>
|   |   |-- <Wire> 1.0.1
|   |-- <Adafruit Unified Sensor> 1.1.2
|   |-- <OneButton>
|   |-- <LoRa> 0.7.0
|   |   |-- <SPI> 1.0
|   |   |   |-- <ttgo-lora32-v2z>
|   |-- <Adafruit GFX Library> 1.7.5
|   |   |-- <SPI> 1.0
|   |   |   |-- <ttgo-lora32-v2z>
|   |-- <Adafruit SSD1306> 2.1.0
|   |   |-- <Adafruit GFX Library> 1.7.5
|   |   |   |-- <SPI> 1.0
|   |   |   |   |-- <ttgo-lora32-v2z>
|   |   |-- <SPI> 1.0
|   |   |   |-- <ttgo-lora32-v2z>
|   |   |-- <Wire> 1.0.1
|-- <AsyncTCP> 1.1.1
|-- <config>
|-- <OneButton>
|-- <SPI> 1.0
|   |-- <ttgo-lora32-v2z>
|-- <Wire> 1.0.1
|-- <DHT sensor library for ESPx> 1.17
|-- <TinyGPSPlus> 1.0.2
|-- <AXP202X_Library> 1.1.0
|   |-- <Wire> 1.0.1
Building in release mode
Compiling .pio/build/esp32-v2z/src/main.cpp.o
Generating partitions .pio/build/esp32-v2z/partitions.bin
Archiving .pio/build/esp32-v2z/liba60/libconfig.a
Indexing .pio/build/esp32-v2z/liba60/libconfig.a
Compiling .pio/build/esp32-v2z/lib21e/ESPAsyncTCP_ID305/AsyncPrinter.cpp.o
Compiling .pio/build/esp32-v2z/lib21e/ESPAsyncTCP_ID305/ESPAsyncTCP.cpp.o
Compiling .pio/build/esp32-v2z/lib21e/ESPAsyncTCP_ID305/ESPAsyncTCPbuffer.cpp.o
In file included from /home/jan/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwip/opt.h:51:0,
                 from /home/jan/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwip/init.h:40,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCP.h:31,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/AsyncPrinter.h:26,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/AsyncPrinter.cpp:22:
/home/jan/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwipopts.h:326:0: warning: "TCP_MSS" redefined
 #define TCP_MSS                         CONFIG_TCP_MSS
 ^
In file included from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCP.h:25:0,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/AsyncPrinter.h:26,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/AsyncPrinter.cpp:22:
/home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/async_config.h:13:0: note: this is the location of the previous definition
 #define TCP_MSS (1460)
 ^
In file included from /home/jan/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwip/opt.h:51:0,
                 from /home/jan/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwip/init.h:40,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCP.h:31,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:75:
/home/jan/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwipopts.h:326:0: warning: "TCP_MSS" redefined
 #define TCP_MSS                         CONFIG_TCP_MSS
 ^
In file included from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCP.h:25:0,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCP.cpp:75:
/home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/async_config.h:13:0: note: this is the location of the previous definition
 #define TCP_MSS (1460)
 ^
In file included from /home/jan/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwip/opt.h:51:0,
                 from /home/jan/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwip/init.h:40,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCP.h:31,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCPbuffer.h:37,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCPbuffer.cpp:29:
/home/jan/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwipopts.h:326:0: warning: "TCP_MSS" redefined
 #define TCP_MSS                         CONFIG_TCP_MSS
 ^
In file included from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCP.h:25:0,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCPbuffer.h:37,
                 from /home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/ESPAsyncTCPbuffer.cpp:29:
/home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/async_config.h:13:0: note: this is the location of the previous definition
 #define TCP_MSS (1460)
 ^
/home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/AsyncPrinter.cpp: In constructor 'AsyncPrinter::AsyncPrinter(AsyncClient*, size_t)':
/home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/AsyncPrinter.cpp:48:11: error: 'panic' was not declared in this scope
     panic(); //What should we do?
           ^
/home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/AsyncPrinter.cpp: In member function 'int AsyncPrinter::connect(IPAddress, uint16_t)':
/home/jan/.platformio/lib/ESPAsyncTCP_ID305/src/AsyncPrinter.cpp:71:11: error: 'panic' was not declared in this scope
     panic();
...
...
...

As you can see LDF adds both libs ESPAsyncTCP and AsyncTCP to the build. But ESPAsyncTCP is for ESP8266 while AsyncTCP is for ESP32.

Adding ib_ignore = ESPAsyncTCP in platform.ini works as workaround

Expected Results

running build, without errors.

ivankravets commented 4 years ago

Duplicate of https://github.com/platformio/platformio-core/issues/3381