Closed ReinhardKeil closed 7 months ago
The background for the above warnings is, that the ARM.V2M_MPS3_SSE_310_BSP.pdsc
of version 1.4.0 specifies these pack requirements:
<requirements>
<packages>
<package vendor="ARM" name="CMSIS" version="6.0.0" />
<package vendor="ARM" name="CMSIS-Compiler" version="2.0.0" />
<package vendor="ARM" name="DMA350" version="1.0.0"/>
</packages>
</requirements>
I think the message needs revising to:
warning csolution: context 'Project.Debug+SSE-310-MPS3_FVP': the pack 'ARM::CMSIS-Compiler@2.0.0' required by pack 'ARM.V2M_MPS3_SSE_310_BSP@1.4.0' is not specified
and maybe csolution
should only print it if a component cannot be resolved or a component dependency cannot be resolved. Basically this gives a hint to the user to add these packs to the YML Input file's packs:
node.
Note: this was explicitly requested in https://github.com/Open-CMSIS-Pack/devtools/issues/659
I believe this error should not appear when no components from the required pack are used in the csolution. To me this warning is misleading, as it forces users to specify packs that are unused.
Try USB.csolution.yml
to see what I mean.
@ReinhardKeil, could you please point me to the USB.csolution.yml
example
The problem also exists:
-l latest
is used, then warnings appear on packs that are completely unrelated.For example csolution-examples/hello/hello.csolution.yml
:
C:\w\csolution-examples\Hello>cbuild Hello.csolution.yml -l latest
csolution-examples/Hello/Hello.cproject.yml - warning csolution: dependency validation for context 'Hello.Debug+AVH' failed:
SELECTABLE ARM::CMSIS Driver:USART@1.0.0
require Device:Native Driver:UART
SELECTABLE ARM::CMSIS:RTOS2:Keil RTX5&Source@5.8.0
require CMSIS:OS Tick
require Device:Startup
warning csolution: context 'Hello.Debug+AVH': pack 'ARM::CMSIS-FreeRTOS@10.4.3:10.4.3' required by pack 'AWS::FreeRTOS_LTS@2021.0.1' is not specified
warning csolution: context 'Hello.Debug+AVH': pack 'NXP::MIMXRT595S_DFP@17.0.0' required by pack 'NXP::EVK-MIMXRT595_FREERTOS-KERNEL_BSP@1.0.0' is not specifiederror csolution: processing context 'Hello.Debug+AVH' failed
error csolution: no component was found with identifier 'ARM::Native Driver:IO'
error csolution: no component was found with identifier 'ARM::Native Driver:UART'
error csolution: no component was found with identifier 'Device:Startup&Baremetal'
Hi Reinhard,
the behavior is expected. Warnings about pack dependencies get printed if a project component cannot be resolved. This might give a hint where the component could be located. There is no data available to the RTE model to decide if a missing pack dependency is relevant or not. How can It decide that 'Device:Startup&Baremetal' component is NOT in pack @.***:10.4.3'?
We can remove those warnings completely, but this functionality was explicitly requested by ST. Should we reject #659https://github.com/Open-CMSIS-Pack/devtools/issues/659 request and revert the changes?
Evgunei
From: Reinhard Keil @.> Sent: Wednesday, March 27, 2024 4:25 PM To: Open-CMSIS-Pack/devtools @.> Cc: Evgueni Driouk @.>; State change @.> Subject: Re: [Open-CMSIS-Pack/devtools] unclear warning csolution: required pack @.***' is not loaded (Issue #1356)
The problem also exists:
For example csolution-examples/hello/hello.csolution.yml:
C:\w\csolution-examples\Hello>cbuild Hello.csolution.yml -l latest
csolution-examples/Hello/Hello.cproject.yml - warning csolution: dependency validation for context 'Hello.Debug+AVH' failed:
SELECTABLE ARM::CMSIS @.***
require Device:Native Driver:UART
SELECTABLE ARM::CMSIS:RTOS2:Keil @.**@.>
require CMSIS:OS Tick
require Device:Startup
warning csolution: context 'Hello.Debug+AVH': pack @.:10.4.3' required by pack @.' is not specified
warning csolution: context 'Hello.Debug+AVH': pack @.' required by pack @.' is not specifiederror csolution: processing context 'Hello.Debug+AVH' failed
error csolution: no component was found with identifier 'ARM::Native Driver:IO'
error csolution: no component was found with identifier 'ARM::Native Driver:UART'
error csolution: no component was found with identifier 'Device:Startup&Baremetal'
— Reply to this email directly, view it on GitHubhttps://github.com/Open-CMSIS-Pack/devtools/issues/1356#issuecomment-2023050549, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACSDB6GCY76GEFVLGLCRA5DY2LJCTAVCNFSM6AAAAABEFO3OX2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRTGA2TANJUHE. You are receiving this because you modified the open/close state.Message ID: @.**@.>>
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Can we only print it if the command csolution list dependencies
is called explicitly?
Or can we only print it if we are running in verbose mode -v
?
warning csolution: context 'Hello.Debug+AVH': pack 'ARM::CMSIS-FreeRTOS@10.4.3:10.4.3' required by pack 'AWS::FreeRTOS_LTS@2021.0.1' is not specified
If there is no component selected from these packs, why is then a pack shown as "required"?
@ReinhardKeil ,it is required by a pack that listed in csolution/cproject. Warning appears only if csolution reports a problem of missing components. We cannot always tell in which pack missing component is located.
@jkrech, yes, I can reduce this to list packs
and list dependencies
@edriouk I don't think this warning belongs into csolution list packs
. The description for this command reads : "Print list of used packs from the pack repository". Therefore it is about listing "installed packs" being loaded.
IMHO this type of warnings only make sense when:
csolution convert
command is usedOnly in this case the requirements between the packs should be checked to ensure that interdependent versions are fulfilled. In case that version requirements are violated, a warning should be issued.
In any other case, the warning is misleading as it points the user to unnecessary steps, that may generate even projects that are not working (as components are taken from packs that are unrelated to the project).
I have limited this warning to be shown only in debug mode (-d) switch, PR is pending. That is consistent with other diagnostic messages
cbuild
creates warningsrequired pack is not loaded
. IMHO these warning is not helpful and it should be consider to remove it.A clear and concise description of what the bug is.
To Reproduce Use TestM85.zip and run
cbuild
as shown above.Environment: