Skip to content
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

Shared kconfig (IDFGH-14614) #15369

Open
3 tasks done
malachib opened this issue Feb 10, 2025 · 3 comments
Open
3 tasks done

Shared kconfig (IDFGH-14614) #15369

malachib opened this issue Feb 10, 2025 · 3 comments
Assignees
Labels
Status: In Progress Work is in progress

Comments

@malachib
Copy link

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report

I have a set of components which wants to include SPI settings across them. Only one component will truly activate at a time, but all are available. I rsource them in so that I can use relative pathing to get to a parent folder (i.e. ../Kconfig.spi).

In certain environments, this results in "INFO: Symbol ... defined in multiple locations"

Example project linked here https://bitbucket.org/malachib/playgrou ... /PGESP-69/ exhibits the problem. You can see there are some IF guards there, but the INFO warning persists.

Please advise.

@espressif-bot espressif-bot added the Status: Opened Issue is new label Feb 10, 2025
@github-actions github-actions bot changed the title Shared kconfig Shared kconfig (IDFGH-14614) Feb 10, 2025
@chegewara
Copy link
Contributor

duplicate
#15242

@espressif-bot espressif-bot added Status: In Progress Work is in progress and removed Status: Opened Issue is new labels Feb 11, 2025
@Honza0297
Copy link
Collaborator

Hello @malachib !

First of all, thank you for reporting this issue! This info statement is caused by recent update of esp-idf-kconfig, in which we started to check if some config options are defined multiple times (see #15242 (comment) for detailed context).

How to get rid of these: in the near future, I'll introduce a way how to manually mark config options which should ignored for this check. I'll notify you once it will be officially released.

Note regarding IF statements and conditioned multiple definition in general: during the parse time, we cannot evaluate any condition (not speaking about general satisfiability of the conditions as an alternative - that can be done, but it is NP-complete problem in general = VERY time consuming) and thus we cannot check whether these conditions truly guarantee mutual exclusion. To play it on the safe side, we decided to report every case of multiple definition that will happen. Unfortunately, practice of using multiple definitions is more widespread than we anticipated, which is the reason we are implementing the aforementioned way how to manually turn this check off.

I hope I answered the situation acceptably, if you have any more question, do not hesitate to ask and thank you for your patience!

@malachib
Copy link
Author

Thank you for the informative response!

A manual marking system would work just fine for me - my use case really need to make sure I'm only truly including it once anyway. I appreciate your time and effort on this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: In Progress Work is in progress
Projects
None yet
Development

No branches or pull requests

4 participants