lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] perf


From: Greg Chicares
Subject: [lmi] perf
Date: Sat, 26 Sep 2020 23:14:21 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

Vadim--Thanks for helping me with 'perf' in personal email. Continuing
the discussion here...

My normal user doesn't have CAP_SYS_ADMIN. Apparently if you have
that, you're almost root anyway, so I'm reluctant to give myself
that privilege--at least when I become root, I'm aware that I need
to be especially careful. Do you use root, or grant your normal
user CAP_SYS_ADMIN, or run 'perf' in some other way?

The rest of this email just documents the obstacles that I've
encountered by trying to do things in a way that's probably wrong,
so the best advice here is probably "Don't Do That Then".

I couldn't easily install 'linux-perf' in the out-of-date chroot
that I'm still using for production, due to conflicts in its
required components, and I don't want to update it because I'm
using it for production (and the MinGW-w64-gcc version would
change to something we're not using in production yet). I had
the seemingly brilliant idea of running 'perf' in my host
(after installing it successfully there) to profile a binary
in a chroot:

lmipath=/srv/chroot/bullseye0/opt/lmi/gcc_x86_64-pc-linux-gnu/build/ship; \
 LD_LIBRARY_PATH=$lmipath; \
 $lmipath/lmi_cli_shared --accept --data_path=/opt/lmi/data --selftest

However:

/srv/chroot/bullseye0/opt/lmi/gcc_x86_64-pc-linux-gnu/build/ship/lmi_cli_shared:
 /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found 
(required by 
/srv/chroot/bullseye0/opt/lmi/gcc_x86_64-pc-linux-gnu/build/ship/lmi_cli_shared)

/srv/chroot/bullseye0/opt/lmi/gcc_x86_64-pc-linux-gnu/build/ship/lmi_cli_shared:
 /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by 
/srv/chroot/bullseye0/opt/lmi/gcc_x86_64-pc-linux-gnu/build/ship/liblmi.so)

/srv/chroot/bullseye0/opt/lmi/gcc_x86_64-pc-linux-gnu/build/ship/lmi_cli_shared:
 /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found 
(required by 
/srv/chroot/bullseye0/opt/lmi/gcc_x86_64-pc-linux-gnu/build/ship/liblmi.so)

so I guess I'd need to include more chroot stuff in LD_LIBRARY_PATH:

lmipath=/srv/chroot/bullseye0/opt/lmi/gcc_x86_64-pc-linux-gnu/build/ship; 
LD_LIBRARY_PATH=$lmipath:/srv/chroot/bullseye0/lib/x86_64-linux-gnu/ ; 
$lmipath/lmi_cli_shared --accept --data_path=/opt/lmi/data --selftest

zsh: segmentation fault  $lmipath/lmi_cli_shared --accept 
--data_path=/opt/lmi/data --selftest

Well, that's frustrating. That binary runs successfully in the chroot.

Instead of trying to deal with these problems, I'll just create a new
chroot (including 'perf'). I need to do that anyway, to migrate to a
gcc-10 "new production" environment while temporarily preserving a
gcc-8 "old" one.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]