Fix GCC 15 build failure by connecting bundled yaml-cpp for rocprofiler-sdk#4066
Fix GCC 15 build failure by connecting bundled yaml-cpp for rocprofiler-sdk#4066Muhamed-Husic wants to merge 6 commits intoROCm:mainfrom
Conversation
|
While working on this issue, I have noticed syntax typo in root's CMakeLists.txt. I opened PR for it here. |
Thanks, already approved and landed that. |
marbre
left a comment
There was a problem hiding this comment.
Thanks, I think this would work. Let's wait until the patch this depends on went into rocm-systems. Please then ping for a re-review. Feel free to fix the double whitespaces in the meantime :) Your work is definitely appreciated.
CMakeLists.txt
Outdated
| if(THEROCK_ENABLE_SYSDEPS_AMD_MESA) | ||
| set(THEROCK_BUNDLED_AMDMESA therock-amd-mesa) | ||
| endif() | ||
| set(THEROCK_BUNDLED_YAMLCPP therock-yaml-cpp) |
There was a problem hiding this comment.
| set(THEROCK_BUNDLED_YAMLCPP therock-yaml-cpp) | |
| set(THEROCK_BUNDLED_YAMLCPP therock-yaml-cpp) |
Seems there is one whitespace too much.
There was a problem hiding this comment.
Thank you for the quick feedback. I fixed the whitespace issues and will ping you for a re-review once the dependent patch is merged into rocm-systems.
Motivation
Partially solves: #3517
As already established GCC 15 defaults to
-std=gnu23and no longer pulls in headers like<cstdint>transitively. The vendored yaml-cpp inside rocprofiler-sdk fails to build under GCC 15.This PR implements the approach recommended by the mainteier.
Technical Details
Added
THEROCK_BUNDLED_YAMLCPPtoCMakeLists.txtfollowing the same pattern as other bundeled sysdeps like sqlite3 and zstd.In
profiler/CMakeLists.txtconnected it so that_rocprof_use_sys_yaml_cppis derived from wheatherTHEROCK_BUNDLED_YAMLCPPis set, and passes${THEROCK_BUNDLED_YAMLCPP}as a runtime dep to the rocprofiler-sdk component.Submission Checklist
Related
ROCPROF_USE_SYS_YAML_CPPhere.Notes
Issue pointed that
rocm-systems/projects/rocprofiler-systems/source/lib/logger/logger.hppproduces error because there is no#include <algorithm>in that file, however there is (at least now). See here..Also
rocm-libraries/projects/hipdnn/plugins/miopen_legacy_plugin/MiopenContainer.hppwas mentioned in the description of the issue, however it was moved (I assume it is this file), but it doesn't make any problems.