PlatformIO is failling to compile for platform native, but works fine for espressif.
I noticed LDF fails to list some of the dependencies when running for platform native:
- For espressif
Collected 33 compatible libraries
Looking for dependencies...
Library Dependency Graph
|-- <ProtoBuf>
| |-- <Nanopb> v0.3.9-dev
|-- <ArduinoJson> v5.8.4
|-- <Bounce2> v2.1
|-- <Time> v1.5
|-- <RTC> v2.0.0
|-- <ESPAsyncTCP> v1.0.1
| |-- <ESP8266WiFi> v1.0
|-- <Nanopb> v0.3.9-dev
|-- <EEPROM> v1.0
|-- <Homie> v2.0.0
| |-- <ArduinoJson> v5.8.4
| |-- <AsyncMqttClient> v0.5.0
| | |-- <ESPAsyncTCP> v1.0.1
| | | |-- <ESP8266WiFi> v1.0
| |-- <Bounce2> v2.1
| |-- <ESP8266HTTPClient> v1.1
| | |-- <ESP8266WiFi> v1.0
| |-- <ESP8266WebServer> v1.0
| | |-- <ESP8266WiFi> v1.0
| |-- <ESP8266mDNS>
| | |-- <ESP8266WiFi> v1.0
| |-- <ESP8266WiFi> v1.0
| |-- <Ticker> v1.0
| |-- <DNSServer> v1.1.0
| | |-- <ESP8266WiFi> v1.0
| |-- <EEPROM> v1.0
|-- <Crc16>
|-- <AsyncMqttClient> v0.5.0
| |-- <ESPAsyncTCP> v1.0.1
| | |-- <ESP8266WiFi> v1.0
|-- <Wire> v1.0
- For native
Collected 13 compatible libraries
Looking for dependencies...
Library Dependency Graph
|-- <ProtoBuf>
| |-- <Nanopb> v0.3.9-dev
|-- <ArduinoJson> v5.8.4
|-- <Bounce2> v2.1
|-- <Time> v1.5
|-- <RTC> v2.0.0
|-- <ESPAsyncTCP> v1.0.1
|-- <Nanopb> v0.3.9-dev
|-- <Homie> v2.0.0
| |-- <ArduinoJson> v5.8.4
| |-- <AsyncMqttClient> v0.5.0
| | |-- <ESPAsyncTCP> v1.0.1
| |-- <Bounce2> v2.1
|-- <Crc16>
|-- <AsyncMqttClient> v0.5.0
| |-- <ESPAsyncTCP> v1.0.1
Tried to add extra_lib_dirs
pointing to .platformio/packages/framework-arduinoespressif8266/cores/esp8266/ but still no change.
Why does dependency finding works differently on these two platforms?