Package Details: kernelshark-git 1.0.r34.gd448481-1

Git Clone URL: https://aur.archlinux.org/kernelshark-git.git (read-only)
Package Base: kernelshark-git
Description: GUI frontend for trace-cmd based Linux kernel Ftrace captures
Upstream URL: https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git
Keywords: debug ftrace kernel syscall system trace
Licenses: GPL2
Conflicts: kernelshark
Provides: kernelshark
Submitter: troyengel
Maintainer: None
Last Packager: troyengel
Votes: 2
Popularity: 0.761203
First Submitted: 2019-07-27 14:52
Last Updated: 2019-09-29 13:43

Latest Comments

troyengel commented on 2019-10-15 14:44

At present, kernelshark-git cannot be installed alongside with trace-cmd-git due to conflicting files:

This appears to be based on this upstream commit: https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/commit/?id=bce4fb978c52c7bbd0ffa109f0806584c48475f4

I'll disown these packages so that someone else can pick up on it from here.

xzz53 commented on 2019-10-15 09:58

At present, kernelshark-git cannot be installed alongside with trace-cmd-git due to conflicting files:

error: failed to commit transaction (conflicting files)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_blk.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_cfg80211.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_function.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_futex.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_hrtimer.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_jbd2.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_kmem.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_kvm.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_mac80211.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_sched_switch.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_scsi.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_tlb.so exists in filesystem (owned by trace-cmd-git)
kernelshark-git: /usr/lib/traceevent/plugins/plugin_xen.so exists in filesystem (owned by trace-cmd-git)

troyengel commented on 2019-09-25 00:03

Based on the structure of their Makefile at the top level, the all target will build differently than make gui (not that it wouldn't work, but it's just different) - the gui target is handed into another cmake process differently than the all target building just trace-cmd.

I'm not sure veering away from their intended instructions is a good move at this point given the rapid changes going on with the code - or, it could be fine (50/50 shot). It seems like temporarily adding the options=('!makeflags') would be a wiser choice at this moment, with the full intent being it's just a band-aid and comes off later when upstream fully decouples the code as planned. Hrmmm.

xzz53 commented on 2019-09-22 22:59

On second thought, why not just build it in two steps, like

make
make gui doc

?

This way we'll avoid the race condition and preserve parallelism where it does no harm.

troyengel commented on 2019-09-22 20:17

@xzz53 - you have most likely uncommented MAKEFLAGS="-j2" in your /etc/makepkg.conf -- upstream does not support a parallel build at this time; their Makefile compiles a local copy of trace-cmd first which creates the libraries it's looking for in a subdirectory, then it compiles the C++ on top of those local libraries. (alternately, you can try editing this PKGBUILD and set make -j1 to override your global setting, that should also work)

Edit: just saw your edit, or we could also negate the makeflags as you outline, that might have other side effects if someone has other unrelated flags in place I think, same idea though)

xzz53 commented on 2019-09-22 19:37

Hi! kernelshark-git package fails to build for me. trace-cmd-git package is installed. Makepkg log is linked below: https://pastebin.com/BgFDpUVy

UPD: Looks like the issue is related to a race condition in make (I have MAKEFLAGS="-j5" in /etc/makepkg.conf). The following patch seems to fix the issue:

diff --git a/PKGBUILD b/PKGBUILD
index bcb451f..c941344 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -14,6 +14,7 @@ makedepends=('asciidoc' 'extra-cmake-modules' 'doxygen' 'json-c' 'libxmu'
              'swig')
 provides=('kernelshark')
 conflicts=('kernelshark')
+options=('!makeflags')
 source=(
   "git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git"
 )