KDAB / hotspot

The Linux perf GUI for performance analysis.
4.13k stars 256 forks source link

building instructions are incomplete #442

Closed GitMensch closed 1 year ago

GitMensch commented 1 year ago

Describe the bug Build instructions don't work on Ubuntu 20.04 LTS (because of the QT version dependency which is noted "above" the "click here when you want to build on Ubuntu" link).

To Reproduce just tried to build it with the defined dependency list, then cmake errors:

CMake Error at CMakeLists.txt:38 (find_package):
  Could not find a configuration file for package "Qt5" that is compatible
  with requested version "5.15".

  The following configuration files were considered but not accepted:

    /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake, version: 5.12.8
    /lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake, version: 5.12.8

Expected behavior Build as documented. This could mean one of:

Additional The KDDockWidgets seem to be missing in all of the apt/yum/... instructions and it may be reasonable to add another line for the optional dependencies.

Here's the cmake output if the dependency was manually downgraded (I guess building would not work that way, but it was an option to get further):

-- Found LibElf: /usr/lib/x86_64-linux-gnu/libelf.so  
-- Found ElfUtils: /usr/lib/x86_64-linux-gnu/libdw.so  
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Could NOT find Zstd (missing: Zstd_LIBRARY Zstd_INCLUDE_DIR) 
-- Found objdump: /usr/bin/objdump  
-- Could NOT find LibRustcDemangle (missing: LIBRUSTC_DEMANGLE_LIBRARIES) 
CMake Warning at CMakeLists.txt:70 (find_package):
  By not providing "FindLibDDemangle.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "LibDDemangle", but CMake did not find one.

  Could not find a package configuration file provided by "LibDDemangle" with
  any of the following names:

    LibDDemangleConfig.cmake
    libddemangle-config.cmake

  Add the installation prefix of "LibDDemangle" to CMAKE_PREFIX_PATH or set
  "LibDDemangle_DIR" to a directory containing one of the above files.  If
  "LibDDemangle" provides a separate development package or SDK, be sure it
  has been installed.

-- Found KF5ThreadWeaver: /usr/lib/x86_64-linux-gnu/cmake/KF5ThreadWeaver/KF5ThreadWeaverConfig.cmake (found version "5.68.0") 
-- Found KF5ConfigWidgets: /usr/lib/x86_64-linux-gnu/cmake/KF5ConfigWidgets/KF5ConfigWidgetsConfig.cmake (found version "5.68.0") 
-- Found KF5CoreAddons: /usr/lib/x86_64-linux-gnu/cmake/KF5CoreAddons/KF5CoreAddonsConfig.cmake (found version "5.68.0") 
-- Found KF5ItemViews: /usr/lib/x86_64-linux-gnu/cmake/KF5ItemViews/KF5ItemViewsConfig.cmake (found version "5.68.0") 
-- Found KF5ItemModels: /usr/lib/x86_64-linux-gnu/cmake/KF5ItemModels/KF5ItemModelsConfig.cmake (found version "5.68.0") 
-- Found KF5KIO: /usr/lib/x86_64-linux-gnu/cmake/KF5KIO/KF5KIOConfig.cmake (found version "5.68.0") 
-- Found KF5Solid: /usr/lib/x86_64-linux-gnu/cmake/KF5Solid/KF5SolidConfig.cmake (found version "5.68.0") 
-- Found KF5WindowSystem: /usr/lib/x86_64-linux-gnu/cmake/KF5WindowSystem/KF5WindowSystemConfig.cmake (found version "5.68.0") 
-- Found KF5Notifications: /usr/lib/x86_64-linux-gnu/cmake/KF5Notifications/KF5NotificationsConfig.cmake (found version "5.68.0") 
-- Found KF5IconThemes: /usr/lib/x86_64-linux-gnu/cmake/KF5IconThemes/KF5IconThemesConfig.cmake (found version "5.68.0") 
-- Found Gettext: /usr/bin/msgmerge (found version "0.19.8.1") 
-- Found KF5Parts: /usr/lib/x86_64-linux-gnu/cmake/KF5Parts/KF5PartsConfig.cmake (found version "5.68.0") 
-- Found KF5: success (found version "5.68.0") found components: ThreadWeaver ConfigWidgets CoreAddons ItemViews ItemModels KIO Solid WindowSystem Notifications IconThemes Parts 
-- Could NOT find KF5Archive (missing: KF5Archive_DIR)
-- Could NOT find KF5SyntaxHighlighting (missing: KF5SyntaxHighlighting_DIR)
-- Could NOT find KDDockWidgets (missing: KDDockWidgets_DIR)
-- Could NOT find QCustomPlot (missing: QCustomPlot_LIBRARIES QCustomPlot_INCLUDE_DIRS) 
-- Could NOT find KGraphViewerPart (missing: KGraphViewerPart_DIR)
-- The following RUNTIME packages have been found:

 * objdump, Utility to generate disassembler, <https://www.gnu.org/software/binutils/>
   Support for annotating individual instructions

-- The following OPTIONAL packages have been found:

 * KF5Service (required version >= 5.68.0)
 * KF5Completion (required version >= 5.68.0)
 * KF5JobWidgets (required version >= 5.68.0)
 * KF5Sonnet (required version >= 5.68.0)
 * KF5Codecs (required version >= 5.68.0)
 * KF5WidgetsAddons (required version >= 5.68.0)
 * KF5XmlGui (required version >= 5.68.0)
 * KF5Auth

-- The following REQUIRED packages have been found:

 * Qt5Gui (required version >= 5.12.8)
 * Qt5Test
 * Qt5Svg
 * Qt5 (required version >= 5.12.8)
 * LibElf
 * ElfUtils
 * ECM (required version >= 1.0.0)
 * Threads
 * KF5ThreadWeaver
 * KF5ItemModels
 * KF5WindowSystem
 * KF5Notifications
 * KF5IconThemes
 * KF5ItemViews (required version >= 5.68.0)
 * KF5Solid (required version >= 5.68.0)
 * Qt5Network (required version >= 5.12.0)
 * Gettext
 * Qt5Widgets (required version >= 5.12.0)
 * KF5ConfigWidgets (required version >= 5.68.0)
 * KF5Parts
 * KF5
 * Qt5Core (required version >= 5.12.0)
 * KF5CoreAddons (required version >= 5.68.0)

-- The following RUNTIME packages have not been found:

 * LibRustcDemangle, Demangling for Rust symbols, written in Rust., <https://github.com/alexcrichton/rustc-demangle>
   Demangling of Rust symbols
 * LibDDemangle, Demangling for D symbols, written in D., <https://github.com/lievenhey/d_demangler>
   Demangling of D symbols

-- The following OPTIONAL packages have not been found:

 * Zstd
 * KF5Archive (required version >= 5.85.0)
 * KF5SyntaxHighlighting
 * QCustomPlot, QCustomPlot is a Qt charting library. https://www.qcustomplot.com/, <https://www.qcustomplot.com/index.php/download>
   Frequency tab
 * KGraphViewerPart, KGraphViewer (from KDE extragear) is a tool to display graphviz .dot graphs, <https://invent.kde.org/graphics/kgraphviewer>
   Call graph in the caller/callee tab

-- The following REQUIRED packages have not been found:

 * KDDockWidgets
   KDDockWidgets is a Qt dock widget library written by KDAB, suitable for replacing QDockWidget and implementing
 advanced functionalities missing in Qt. https://github.com/KDAB/KDDockWidgets

CMake Error at /usr/share/cmake-3.16/Modules/FeatureSummary.cmake:457 (message):
  feature_summary() Error: REQUIRED package(s) are missing, aborting CMake
  run.
Call Stack (most recent call first):
  CMakeLists.txt:126 (feature_summary)
milianw commented 1 year ago

patches welcome.

GitMensch commented 1 year ago

fixed with af4f668c1b2faba63bfdce8344768f066a540a45