Closed deej-io closed 8 months ago
Are you using the latest version of aws-c-common? Aws-c-common defines a macro which strips out intel vtune unless enabled https://github.com/awslabs/aws-c-common/pull/1050/files#diff-9b6ea2bf68ed273a9e82a3ef8e0b10a0b3105c67f71719cc879d27c0bcce8dafR254.
Thank you for the pointer.
This library is included in my project through the dependency chain aws-chime-sdk -> aws-crt-cpp -> aws-c-io
. I am using the latest version of aws-crt-cpp
, which seems to have the version of aws-c-common
library which has the cmake option to #define
out the vtune symbols as a submodule.
If I checkout the latest version of aws-crt-cpp
and compile it, I get the same linker errors when it tries to build the tests.
It seems that, for some reason, the -DINTEL_NO_ITTNOTIFY_API
is not being set even though tracing is not enable from that project. I'm not sure which library is at fault here, aws-c-common or aws-c-common, but it seems to be one of those rather than this repo. I'll close the PR.
Describe the bug
I am currently using a few AWS C++ libraries that use this library transitively via CMake
FetchContent
and a recent commit has introduced linker errors for Intel VTune symbols.Intel VTune should be an optional dependency with a CMake option to enable it.
Expected Behavior
Library should compile and link successfully.
Current Behavior
Library fails with link errors if Intel VTune is not installed as a system dependency:
Reproduction Steps
Create a CMake project. Add aws-c-io as a dependency using FetchContent Build the project.
Possible Solution
The commit that introduced the issue should be reverted to allow the project to continue to build. It can then be re-introduced with a CMake option to enable VTune
Additional Information/Context
No response
aws-c-io version used
v0.14.0
Compiler and version used
g++ (GCC) 13.2.1 20230801
Operating System and version
Arch Linux (6.6.6-arch1-1)