KDAB / hotspot

The Linux perf GUI for performance analysis.
4.18k stars 257 forks source link

Building: perfparser submodule #453

Closed floli closed 1 year ago

floli commented 1 year ago

Hello,

I am the maintainer of the AUR packages hotspot and hotspot-git. While the latter build flawlessly, I am having trouble building the currently released version 1.4. Just downloading the tarball, extracting and cmake . gives me

$ cmake .
-- The CXX compiler identification is GNU 12.2.0
-- The C compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found LibElf: /usr/lib/libelf.so  
-- Found ElfUtils: /usr/lib/libdw.so  
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found Zstd: /usr/lib/libzstd.so  
-- Found objdump: /bin/objdump  
-- Found LibRustcDemangle: /usr/lib/librustc_demangle.so  
-- Could NOT find LibDDemangle (missing: LIBD_DEMANGLE_LIBRARIES) 
-- Found KF5ThreadWeaver: /lib/cmake/KF5ThreadWeaver/KF5ThreadWeaverConfig.cmake (found version "5.101.0") 
-- Found KF5ConfigWidgets: /lib/cmake/KF5ConfigWidgets/KF5ConfigWidgetsConfig.cmake (found version "5.101.0") 
-- Found KF5CoreAddons: /lib/cmake/KF5CoreAddons/KF5CoreAddonsConfig.cmake (found version "5.101.0") 
-- Found KF5ItemViews: /lib/cmake/KF5ItemViews/KF5ItemViewsConfig.cmake (found version "5.101.0") 
-- Found KF5ItemModels: /lib/cmake/KF5ItemModels/KF5ItemModelsConfig.cmake (found version "5.101.0") 
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so
-- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found KF5KIO: /lib/cmake/KF5KIO/KF5KIOConfig.cmake (found version "5.101.0") 
-- Found KF5Solid: /lib/cmake/KF5Solid/KF5SolidConfig.cmake (found version "5.101.0") 
-- Found KF5WindowSystem: /lib/cmake/KF5WindowSystem/KF5WindowSystemConfig.cmake (found version "5.101.0") 
-- Found KF5Notifications: /lib/cmake/KF5Notifications/KF5NotificationsConfig.cmake (found version "5.101.0") 
-- Found KF5IconThemes: /lib/cmake/KF5IconThemes/KF5IconThemesConfig.cmake (found version "5.101.0") 
-- Found Gettext: /bin/msgmerge (found version "0.21.1") 
-- Found KF5Parts: /lib/cmake/KF5Parts/KF5PartsConfig.cmake (found version "5.101.0") 
-- Found KF5: success (found version "5.101.0") found components: ThreadWeaver ConfigWidgets CoreAddons ItemViews ItemModels KIO Solid WindowSystem Notifications IconThemes Parts 
-- 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
 * LibRustcDemangle, Demangling for Rust symbols, written in Rust., <https://github.com/alexcrichton/rustc-demangle>
   Demangling of Rust symbols

-- The following OPTIONAL packages have been found:

 * Zstd
 * KF5Service (required version >= 5.101.0)
 * KF5Completion (required version >= 5.101.0)
 * KF5JobWidgets (required version >= 5.101.0)
 * KF5Sonnet (required version >= 5.101.0)
 * KF5I18n (required version >= 5.101.0)
 * KF5TextWidgets (required version >= 5.101.0)
 * KF5Codecs (required version >= 5.101.0)
 * KF5WidgetsAddons (required version >= 5.101.0)
 * KF5XmlGui (required version >= 5.101.0)
 * KF5Archive (required version >= 5.85.0)
 * KF5Auth
 * KF5SyntaxHighlighting

-- The following REQUIRED packages have been found:

 * Qt5Test
 * Qt5Svg
 * Qt5 (required version >= 5.15)
 * LibElf
 * ElfUtils
 * ECM (required version >= 1.0.0)
 * Threads
 * KF5ThreadWeaver
 * KF5ItemModels
 * KF5Notifications
 * KF5IconThemes
 * KF5ItemViews (required version >= 5.101.0)
 * KF5Solid (required version >= 5.101.0)
 * Qt5Network (required version >= 5.15.2)
 * Gettext
 * KF5ConfigWidgets (required version >= 5.101.0)
 * KF5Parts
 * KF5
 * KF5CoreAddons (required version >= 5.101.0)
 * Qt5Core (required version >= 5.15.2)
 * Qt5Gui (required version >= 5.15.2)
 * Qt5Widgets
 * 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

-- The following RUNTIME packages have not been found:

 * 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:

 * 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

-- Installing in the same prefix as Qt, adopting their path scheme.
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Error at cmake/HotspotMacrosInternal.cmake:12 (message):
  The perfparser submodule is missing - please report a broken source
  package.

Call Stack (most recent call first):
  3rdparty/CMakeLists.txt:1 (check_submodule_exists)

-- Configuring incomplete, errors occurred!
See also "/tmp/hotspot-v1.4.0/CMakeFiles/CMakeOutput.log".              

Thanks!

milianw commented 1 year ago

hey @floli, you are using the wrong tarball - github tarballs do not include the submodule. I'm explicitly adding tarballs with the submodules included for that purpose, see:

https://github.com/KDAB/hotspot/releases/tag/v1.4.0

either download the individual tarballs for the two submodules, or use the full tarball, e.g. https://github.com/KDAB/hotspot/releases/download/v1.4.0/hotspot-v1.4.0.tar.gz

floli commented 1 year ago

either download the individual tarballs for the two submodules, or use the full tarball, e.g. https://github.com/KDAB/hotspot/releases/download/v1.4.0/hotspot-v1.4.0.tar.gz

The PKGBUILD uses

pkgver=1.4.0
source=("https://github.com/KDAB/hotspot/releases/download/v${pkgver}/hotspot-v${pkgver}.tar.gz")

that should resolve to the same URL, which is the full tarball. That though gives the error message above.

Or do I get something wrong?

milianw commented 1 year ago

ah, now I understand!

milianw commented 1 year ago

I'll create a new v1.4.1 release now with that fixed

milianw commented 1 year ago

https://github.com/KDAB/hotspot/releases/tag/v1.4.1

this should have it fixed, please reopen if you still suffer from any issues

floli commented 1 year ago

Awesome, works now! Thanks a lot!