Sysinternals/ProcMon-for-Linux

Arch Linux problems

s3rgeym opened this issue · 7 comments

I added procmon to AUR.

I added dependencies following your instructions. See PKGBUILD.

$ yay -S ncurses5-compat-libs bcc procmon
$ sudo procmon                                       
procmon: /usr/lib/libpanel.so.5: version `NCURSES_5.0.19991023' not found (required by procmon)
procmon: /usr/lib/libncurses.so.5: version `NCURSES_5.0.19991023' not found (required by procmon)

How to fix it?

yay -Ql ncurses5-compat-libs                           
ncurses5-compat-libs /usr/
ncurses5-compat-libs /usr/bin/
ncurses5-compat-libs /usr/bin/ncursesw5-config
ncurses5-compat-libs /usr/lib/
ncurses5-compat-libs /usr/lib/libform.so.5
ncurses5-compat-libs /usr/lib/libformw.so.5
ncurses5-compat-libs /usr/lib/libformw.so.5.9
ncurses5-compat-libs /usr/lib/libmenu.so.5
ncurses5-compat-libs /usr/lib/libmenuw.so.5
ncurses5-compat-libs /usr/lib/libmenuw.so.5.9
ncurses5-compat-libs /usr/lib/libncurses++.so.5
ncurses5-compat-libs /usr/lib/libncurses++w.so.5
ncurses5-compat-libs /usr/lib/libncurses++w.so.5.9
ncurses5-compat-libs /usr/lib/libncurses.so.5
ncurses5-compat-libs /usr/lib/libncursesw.so.5
ncurses5-compat-libs /usr/lib/libncursesw.so.5.9
ncurses5-compat-libs /usr/lib/libpanel.so.5
ncurses5-compat-libs /usr/lib/libpanelw.so.5
ncurses5-compat-libs /usr/lib/libpanelw.so.5.9
ncurses5-compat-libs /usr/lib/libtic.so.5
ncurses5-compat-libs /usr/lib/libtinfo.so.5
ncurses5-compat-libs /usr/share/
ncurses5-compat-libs /usr/share/licenses/
ncurses5-compat-libs /usr/share/licenses/ncurses5-compat-libs/
ncurses5-compat-libs /usr/share/licenses/ncurses5-compat-libs/LICENSE
$ yay -Qi ncurses
Name            : ncurses
Version         : 6.2-1
Description     : System V Release 4.0 curses emulation library
Architecture    : x86_64
URL             : https://invisible-island.net/ncurses/ncurses.html
Licenses        : MIT
Groups          : None
Provides        : libncurses++w.so=6-64  libformw.so=6-64  libmenuw.so=6-64  libpanelw.so=6-64  libncursesw.so=6-64
Depends On      : glibc  gcc-libs
Optional Deps   : None
Required By     : asdf-vm  aspell  bash  gdb  gnugo  gptfdisk  guile  guile2.0  htop  lame  less  libcaca  libcdio  libedit  libxml2  llvm-libs
                  nano  openshadinglanguage  pinentry  procps-ng  psmisc  readline  texinfo
Optional For    : vlc
Conflicts With  : None
Replaces        : alacritty-terminfo
Installed Size  : 3.55 MiB
Packager        : Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
Build Date      : Thu 13 Feb 2020 11:08:28 AM MSK
Install Date    : Thu 23 Jul 2020 11:10:01 AM MSK
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

I've tried creating symbolic links but the result is the same (version error):

cd /usr/lib
sudo ln -s libncursesw.so.6.2 libncurses.so.5
sudo ln -s libtinfo.so.6 libtinfo.so.5
sudo ln -s libpanelw.so.6.2 libpanel.so.5

The real problem is it doesn't work on Arch anyway.

I successfully built it from source (not using your PKGBUILD or anything, just manually), and you get this:

: CommandLine Error: Option 'no-x86-call-frame-opt' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
[1]    32468 abort (core dumped)  ./procmon

I'm getting the same error on Fedora 34.

$ ./procmon 
: CommandLine Error: Option 'no-x86-call-frame-opt' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
Aborted (core dumped)

Build environment:

clang-devel-12.0.0-0.3.rc1
cmake-3.19.7-1
elfutils-libelf-devel-0.183-1
iperf3-3.9-6
llvm-devel-12.0.0-0.1.rc1
ncurses-devel-6.2-4.20200222
sqlite-devel-3.34.1-2

Yeah same problem after building it from source. strace log

I'm adding backtrace for above problem:

$ sudo procmon 
: CommandLine Error: Option 'no-x86-call-frame-opt' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
Aborted
$ sudo coredumpctl gdb
           PID: 36650 (procmon)
           UID: 0 (root)
           GID: 0 (root)
        Signal: 6 (ABRT)
     Timestamp: Sat 2021-05-22 14:22:36 CEST (3min 40s ago)
  Command Line: procmon
    Executable: /usr/bin/procmon
 Control Group: /user.slice/user-1000.slice/session-1.scope
          Unit: session-1.scope
         Slice: user-1000.slice
       Session: 1
     Owner UID: 1000 (xxx)
       Boot ID: 13a246595eee4206a70c0ae9394f1293
    Machine ID: da15940e30964d5683cee21811e4b832
      Hostname: xxx
       Storage: /var/lib/systemd/coredump/core.procmon.0.13a246595eee4206a70c0ae9394f1293.36650.1621686156000000.zst (present)
     Disk Size: 1.2M
       Message: Process 36650 (procmon) of user 0 dumped core.
                
                Stack trace of thread 36650:
                #0  0x00007f7a694bcd22 raise (libc.so.6 + 0x3cd22)
                #1  0x00007f7a694a6862 abort (libc.so.6 + 0x26862)
                #2  0x0000564f9fb8a324 _ZN4llvm18report_fatal_errorERKNS_5TwineEb (procmon + 0x261f324)
                #3  0x0000564f9fb8a449 _ZN4llvm18report_fatal_errorEPKcb (procmon + 0x261f449)
                #4  0x0000564f9fb70744 n/a (procmon + 0x2605744)
                #5  0x0000564f9fb716fe _ZN4llvm2cl6Option11addArgumentEv (procmon + 0x26066fe)
                #6  0x0000564f9da239bd _ZN4llvm24get_thread_affinity_maskEv (procmon + 0x4b89bd)
                #7  0x0000564f9fccd07d n/a (procmon + 0x276207d)
                #8  0x00007f7a694a7ab1 __libc_start_main (libc.so.6 + 0x27ab1)
                #9  0x0000564f9da8d71e _ZN4llvm24get_thread_affinity_maskEv (procmon + 0x52271e)

GNU gdb (GDB) 10.2
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/procmon...
(No debugging symbols found in /usr/bin/procmon)
[New LWP 36650]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `procmon'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f7a694bcd22 in raise () from /usr/lib/libc.so.6

(gdb) bt
#0  0x00007f7a694bcd22 in raise () from /usr/lib/libc.so.6
#1  0x00007f7a694a6862 in abort () from /usr/lib/libc.so.6
#2  0x0000564f9fb8a324 in llvm::report_fatal_error(llvm::Twine const&, bool) ()
#3  0x0000564f9fb8a449 in llvm::report_fatal_error(char const*, bool) ()
#4  0x0000564f9fb70744 in ?? ()
#5  0x0000564f9fb716fe in llvm::cl::Option::addArgument() ()
#6  0x0000564f9da239bd in llvm::get_thread_affinity_mask() ()
#7  0x0000564f9fccd07d in ?? ()
#8  0x00007f7a694a7ab1 in __libc_start_main () from /usr/lib/libc.so.6
#9  0x0000564f9da8d71e in llvm::get_thread_affinity_mask() ()

We are reworking procmon a bit to be able to more easily support new distros. We are well on our way to getting it enabled. Stay tuned.

Duplicate of #70