Open aparsons-gradient opened 5 months ago
Hi @aparsons-gradient
This dependency comes from the mdns
component, which needs some specific low layer netif API (on linux, it's not a generic implementation, so we cannot place it under IDF as a universal network component).
you can workaround this by cloning https://github.com/espressif/esp-protocols to $PROTOCOLS_PATH
and adding this line to your project makefile:
set(EXTRA_COMPONENT_DIRS
"${PROTOCOLS_PATH}/common_components/linux_compat"
"${PROTOCOLS_PATH}/components/mdns/tests/host_test/components")
The ultimate solution would be to add official support for these experimental components, esp. esp_timer
and esp_netif
under linux.
@david-cermak thanks for the response and workaround! I think we might wait until Posix support is a bit more stable before moving forward with that. Thanks again.
Answers checklist.
IDF version.
v5.2.1
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
What is the expected behavior?
I'm running
idf.py --preview set-target linux
on a project that builds successfully for anesp32s3
target. In the initial step where the build system attempts to generate asdkconfig
file, I would expect this to finish successfully.What is the actual behavior?
The configuration step fails with an error that the
esp_netif_linux
component can't be found. This makes sense from what I can see because there is no component with that name in theidf/components
folder. I'm assuming that maybe a name parsing function is concatenating this incorrectly?Steps to reproduce.
esp_netif
as a dependencyidf.py --preview set-target linux
Build or installation Logs.
More Information.
No response