ROCm / omnitrace

Omnitrace: Application Profiling, Tracing, and Analysis
https://rocm.docs.amd.com/projects/omnitrace/en/latest/
MIT License
297 stars 27 forks source link

Enable features to generate dependency list and fix RPM installation. #343

Closed dgaliffiAMD closed 4 months ago

dgaliffiAMD commented 4 months ago

For DEBIAN, enable CPACK_DEBIAN_PACKAGE_SHLIBDEPS to generate a package dependency list.

For RPM, enable CPACK_RPM_PACKAGE_AUTOREQPROV to automatically generate lists of shared libraries that this package requires and provides.

Fix dnf install failing due to dependency resolution

Auto-generation did not add it to the "provides" list, despite it being included in the package when OMNITRACE_BUILD_LIBUNWIND is enabled. So, manually include these in the "CPACK_RPM_PACKAGE_PROVIDES" parameter.

dgaliffiAMD commented 4 months ago

For reference, the follow is the error when trying to install the RPM.

$ sudo yum install -v ./omnitrace-1.11.2-rocky9.4~ROCm60101~PAPI~OMPT.el9.x86_64.rpm 
[sudo] password for gliff: 
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, notify-packagekit, playground, repoclosure, repodiff, repograph, repomanage, reposync, system-upgrade
YUM version: 4.14.0

--> Starting dependency resolution
--> Finished dependency resolution
Error: 
 Problem: conflicting requests
  - nothing provides libunwind-ptrace.so.0()(64bit) needed by omnitrace-1.11.2-rocky9.4~ROCm60101~PAPI~OMPT.el9.x86_64 from @commandline
  - nothing provides libunwind-setjmp.so.0()(64bit) needed by omnitrace-1.11.2-rocky9.4~ROCm60101~PAPI~OMPT.el9.x86_64 from @commandline
  - nothing provides libunwind-x86_64.so.99()(64bit) needed by omnitrace-1.11.2-rocky9.4~ROCm60101~PAPI~OMPT.el9.x86_64 from @commandline
  - nothing provides libunwind.so.99()(64bit) needed by omnitrace-1.11.2-rocky9.4~ROCm60101~PAPI~OMPT.el9.x86_64 from @commandline
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)