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

When pack: Arm::CMSIS instead of ARM::CMSIS is used -> warning 500 #1262

Open
ReinhardKeil opened this issue Jan 9, 2024 · 2 comments
Open
Assignees
Labels
bug Something isn't working

Comments

@ReinhardKeil
Copy link
Collaborator

ReinhardKeil commented Jan 9, 2024

Describe the bug

When the case of a pack name is mistyped, i.e. -pack: Arm::CMSIS instead of -pack: ARM::CMSIS this error is reported.

warning csolution: RTE Model reports:
C:/Users/reikei01/AppData/Local/Arm/Packs/Arm/CMSIS/6.0.0/Arm.CMSIS.pdsc: warning #500: pack 'ARM::CMSIS@6.0.0' is already defined in file C:/Users/reikei01/AppData/Local/Arm/Packs/ARM/CMSIS/6.0.0/ARM.CMSIS.pdsc - duplicate is ignored

For an user it is unclear that this is caused by the fact that Arm instead of ARM is used. The problem is caused by the fact that the cbuild-pack.yml file records the pack in upper case from a previous run.

To Reproduce
Use attached project DualCore.zip with the command:

csolution convert HelloWorld.csolution.yml

DualCore.zip

Environment (please complete the following information):

  • CMSIS-Toolbox 2.2.1
  • OS: Windows
@ReinhardKeil ReinhardKeil added the bug Something isn't working label Jan 9, 2024
@ReinhardKeil ReinhardKeil changed the title When pack: Arm::CMSIS instead of Arm::CMSIS is used -> warning 500 When pack: Arm::CMSIS instead of ARM::CMSIS is used -> warning 500 Jan 9, 2024
@jkrech
Copy link
Member

jkrech commented Jan 9, 2024

Both HelloWorld_cm4.cproject.yml as well as HelloWorld_cm0plus.cproject.yml specify

  packs:
    - pack:  ARM:CMSIS

After removing those, the Arm::CMSIS pack specifier is accepted and processed as if ARM::CMSIS was specified.
Therefore the root cause seems to be a case insensitve comparison when matching the specified packs against the installed packs.

csolution list packs HelloWorld.csolution.yml also prints ARM::CMSIS@6.0.0.

This is most likely due to using case insensitive Windows OS libraries.

In order for CMSIS solution project files to be portable across case and non-case sensitive operating systems, my expectation is that the csolution tool would throw an error saying that Arm::CMSIS pack is missing.

@jkrech
Copy link
Member

jkrech commented Apr 16, 2024

Lower priority than other issues for 2.4.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Development

No branches or pull requests

4 participants