-
Notifications
You must be signed in to change notification settings - Fork 180
ninja process hanging forever when building esp32 arduino lib builder with component having ${CMAKE_BINARY_DIR} in INCLUDE_DIRS, idf_component_register (IDFGH-14412) #264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
It's actually hanging while trying to collect all files for Arduino. Having that directive there is probably making it search through folders that is not prepared to go through and is running in circles. You can check the |
Is there anyway to control this behavior, such as excluding some folders for searching? Because some components could include build dir in INCLUDE_DIRS rather than PRIV_INCLUDE_DIRS, for example, micropython, micropython-ulab use INTERFACE library while building. It refers to runtime created header files inside build dir. So if including build dir (CMAKE_BINARY_DIR) in INCLUDE_DIRS, the whole build process could not finished. I waited for several hours but it is still there. |
The tooling here is tailored specifically for what Arduino needs. It extracts the files it also needs from the build dir (sdkconfig.h, bootloaders, etc), so maybe you need to be more specific than just adding the whole build dir to includes. |
Could you help me which codes, in which files, to search through include dirs to collect files for Arduino? I will modify the script to exclude build dir while collecting files but still existing when compile codes. Currently my compiling/linking is successful, but stuck at collecting files phase that you describe. |
I found it in file tools/copy-libs.sh, I will investigate it. |
I tried but ninja still hanging at phase " |
Answers checklist.
IDF version.
v5.4
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?
Build successfully
What is the actual behavior?
ninja hanging forever at step
[2820/2821] Linking CXX executable arduino-lib-builder.elf
Steps to reproduce.
/esp/lib5.4/build.sh -A idf-release/v5.4 -I release/v5.4 -i v5.4 -t 'esp32s3' -b idf-libs
test
component in directorycomponents
inside lib-builder folder, in this folder /esp32/lib5.4/components with commandsource ../esp-idf/export.sh
idf.py create-component test
test/CMakeLists.txt
as following:/esp32/lib5.4
, run command again with option-s
to avoid download tools, libs,...again.build.sh -s -A idf-release/v5.4 -I release/v5.4 -i v5.4 -t 'esp32s3' -b idf-libs
"${CMAKE_BINARY_DIR}"
in file CMakeLists.txt, and run again, it will be successful.build.sh -s -A idf-release/v5.4 -I release/v5.4 -i v5.4 -t 'esp32s3' -b idf-libs
So, why
${CMAKE_BINARY_DIR}
or${BUILD_DIR}
causes this hang?Build or installation Logs.
More Information.
No response
The text was updated successfully, but these errors were encountered: