-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
mbedtls compile options are not longer given to external modules #69375
Comments
I have a similar issue after the update from Zephyr v3.5.0 to v3.6.0. I have an external module using mbedtls via Is there any workaround or fix in progress? I cannot update to v3.6.0. |
@tejlmand can you please take a look? |
@xhpohanka can you provide a bit more information on this ? The mbedtls flags are passed to the Zephyr mbedTLS module, https://github.com/zephyrproject-rtos/mbedtls, which can be seen if building the Output when building main, but same result on Zephyr v3.6.0:
or are you talking about other external modules, and which modules ? Is it modules hosted by Zephyr, or downstream only modules ?
Which project are you building, and for which board ? Is the issue reproducible with any board or sample in the Zephyr repository ? |
Hi, just a very quick update now.
|
Reproduced in
again build params
are missing in external module build. They was there in older zephyr. |
Thanks.
Important information when having to reproduce.
Thanks, always helpful as it can help tracing back.
Then you must clarify what you mean by an external module, because mbedtls itself is an external module, and you can see the file from my investigation is located in a Zephyr module:
and that file is being compiled with the expected flags.
because the Question, why does
As you say, support for The civetweb build code must ensure that include folders and flags from Zephyr is applied, either by creating a So you would need something like this: So far there doesn't seem to be any flaws in the build system. What I can conclude is the following:
So the reported issue is related to the library itself and it's glue code, and not related to Zephyr's mbedTLS intergration. |
The zephyr/modules/nanopb/CMakeLists.txt Lines 9 to 49 in 8c8e2f6
|
Sorry, my bad, I was looking here: |
Hi @tejlmand, I'm afraid we do not understand each other.
|
The zephyr build system is really really complex (that's one of the reason why many of my colleagues hate Zephyr) so I don't know if I'm fighting with issue of the module integration or the system itself.
The situation has changed in time. For me before I merged the mentioned commit from master branch, build of external modules (even the nanopb) was given the options eg. |
Ok, I have started to be curious what's going on and done the bisect. From what I see there it seems to me that @tejlmand please, can you confirm my finding is correct? |
I agree, but considering the amount of boards, modules, integration with 3rd party modules which are all having their own way of doing things, etc. then things due become complex.
and that is what i'm trying to investigate, thus the reasons for my followup questions.
Depends on what you mean by
and then other libraries defined with
If a library provides some public includes / compile flags which are not shared through
Great. Thanks for finding. But going a step deeper, then this would only happen when zephyr/subsys/net/lib/CMakeLists.txt Line 12 in 7c72d4a
This is exactly why it's important to have as detailed info as possible when strating an investigation.
yes, the change of Now the question is if there are libraries which relies on mbedTLS but is not linking to it, simply because the library got it for "free". |
Thank you for explanation.
I agree too, but the truth is that eg. such issue with include files we met here is a show stopper for a most of my team :) Unfortunately there is no documentation or example of using |
Describe the bug
In current main branch there is a regression regarding mbedtls.
In 3.5 branch the
-DMBEDTLS_CONFIG_FILE=\"config-tls-generic.h\"
and-I/home/zephyrproject/modules/crypto/mbedtls/include
were given to external modules but that is no longer the case in current main.To Reproduce
Steps to reproduce the behavior:
Expected behavior
External project has the required compile options.
The text was updated successfully, but these errors were encountered: