-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Description of defect
I presume this was introduced with the 6.3.0 restructuring, since it does not occur in 6.2.0.
I use the Storage API, specifically TDBStore in bare metal profile. With 6.2.0 and earlier, I added tdbstore
to the requires
array and it worked with a couple other dependencies. With 6.3.0, the TDBStore API was moved under kv-global-api
. The issue is, since there are other source files such as FileSystemStore.cpp
under kv-global-api
, it creates a chain of dependencies which is almost impossible to satisfy. This is the compiler error I receive when I only add kv-global-api
:
Compile [ 41.9%]: FileSystemStore.cpp
[Fatal Error] FileSystemStore.h@22,10: filesystem/FileSystem.h: No such file or directory
[ERROR] In file included from .\mbed-os\storage\kvstore\source\FileSystemStore.cpp:19:
./mbed-os/storage/kvstore/include/kvstore/FileSystemStore.h:22:10: fatal error: filesystem/FileSystem.h: No such file or directory
22 | #include "filesystem/FileSystem.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Of course I should not be required to add filesystem
to my dependencies since I do not use it at all. However when I try to do it, it creates further dependencies such as littlefs
. It goes on like this.
I think the key problem here is FileSystemStore.cpp
residing under the same API as KVStore.
Target(s) affected by this defect ?
All targets.
Toolchain(s) (name and version) displaying this defect ?
GCC ARM 9-2020-q2-update
What version of Mbed-os are you using (tag or sha) ?
mbed-os-6.3.0
What version(s) of tools are you using. List all that apply (E.g. mbed-cli)
mbed-cli
How is this defect reproduced ?
Create a bare-metal example.
Try #include "TDBStore.h"
.