LTTng CenOS 源码安装整理(安装步骤以及报错解决方法)

     1. LTTng 介绍:

LTTng: (Linux Trace Toolkit Next Generation),它是用于跟踪 Linux 内核、应用程序以及库的系统软件包.LTTng 主要由内核模块和动态链接库(用于应用程序和动态链接库的跟踪)组成。根据这个介绍我们大概可以知道需要安装LTTng模块、支持内核模块以及支持用户应用程序(C/C++、JAVA、Python, etc.)模块。第一次安装的时候按照官方手册安装了一遍,发现并不能用,中间遇到了很多坑,关于LTTng的教程也很少,在这里记录一下。(保证能使用的最简单方法:yum 一下

      2. 相关依赖项安装:

按照官方文档手册,需要安装4个必要依赖(libuuid;popt;Userspace RCU【需要注意,留着一说;libxml2)和一个可选依赖(numactl)。

除了Userspace RCU其他的可以直接 yum 安装,这里重点介绍一下RCU:

创建Userspace RCU库的最初动机:LTTng用户空间跟踪端口最初需要用户空间RCU库。liburcu是一个LGPLv2.1用户空间RCU (read-copy-update)库。这个数据同步库提供了读端访问,它随核的数量线性扩展。liburcu-cds提供了基于RCU和无锁算法的高效数据结构。这些结构包括哈希表、队列、堆栈和双链表。因此,用户空间跟踪实现是liburcu的动机和第一个用户。所以RCU相当于LTTng的一个库。

Userspace RCU下载:https://lttng.org/files/urcu/?O=D

当时第一次尝试了yum安装rcu,发现报错

报错
configure: error: Package requirements (liburcu >= 0.12) were not met:  No package 'liburcu' found  

安装
yum install -y userspace-rcu-devel
但是版本不够
yum remove userspace-rcu-devel

于是去官网下载源文件,进行编译安装,这里解压部分就不做赘述

配置环境变量
[root@localhost lttng-ust-2.13.5]# vim ~/.bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

[root@localhost lttng-ust-2.13.5]# source ~/.bashrc


再次报错
checking for liburcu >= 0.12... yes
checking for numa_available in -lnuma... no
configure: error: libnuma is not available. Please either install it (e.g. libnuma-dev) or use
LDFLAGS=-Ldir to specify the right location, or use --disable-numa configure
argument to disable NUMA support.



但是已经装了 numactl
[root@localhost lttng-ust-2.13.5]# rpm -qa| grep numa
numactl-2.0.12-5.el7.x86_64
numad-0.5-18.20150602git.el7.x86_64
numactl-libs-2.0.12-5.el7.x86_64

链接一下
ln -s /usr/lib64/libnuma.so.1 /usr/lib64/libnuma.so

ok不报错

        3.LTTng-modules 2.13安装:

按照官方文档(直接安装在自己定义的文件夹下面,不需要创建temp文件夹):

wget https://lttng.org/files/lttng-modules/lttng-modules-latest-2.13.tar.bz2 &&
tar -xf lttng-modules-latest-2.13.tar.bz2 &&
cd lttng-modules-2.13.* &&
make &&
sudo make modules_install &&
sudo depmod -a

make时遇到报错:

File ./arch/x86/kvm/lapic.h not found. Probe "kvm" x86-specific is disabled. 
Use full kernel source tree to enable it.
尝试下面
[root@localhost lttng-modules-2.13.7]# dnf install kernel-devel
Extra Packages for Enterprise Linux 7 - x86_64    


Can't read private key
  DEPMOD  3.10.0-1160.59.1.el7.x86_64


cd lttng-modules-2.13.* &&
make &&
sudo make modules_install &&
sudo depmod -a

depmod -a

Can't read private key 未解决,感觉不影响使用。

        4.LTTng-UST 2.13安装:

按照官方文档

wget https://lttng.org/files/lttng-ust/lttng-ust-latest-2.13.tar.bz2 &&
tar -xf lttng-ust-latest-2.13.tar.bz2 &&
cd lttng-ust-2.13.* &&
./configure &&
make &&
sudo make install &&
sudo ldconfig

检查动态链接:

[root@localhost lttng-ust-2.13.5]# pkg-config --list-all

进行configure时遇到

counter/shm.c:24:10: fatal error: numa.h: 没有那个文件或目录
【再装一下】
yum install libnuma-devel -y


yum install numactl-devel -y

已安装:
  numactl-devel.x86_64 0:2.0.12-5.el7   

ok,UST部分完成

        5.LTTng-tools2.13安装:

按照官方文档:

wget https://lttng.org/files/lttng-tools/lttng-tools-latest-2.13.tar.bz2 &&
tar -xf lttng-tools-latest-2.13.tar.bz2 &&
cd lttng-tools-2.13.* &&
./configure &&
make &&
sudo make install &&
sudo ldconfig

成功后在服务器测试

[root@localhost lttng-tools-2.13.8]# lttng version
lttng version 2.13.8 - Nordicité

The product of a collaboration between Champ Libre and Boréale, this farmhouse IPA is brewed with Kveik yeast and Québec-grown barley, oats and juniper branches. The result is a remarkable fruity hazy golden IPA that offers a balanced touch of resinous and woodsy bitterness.

Web site: https://lttng.org

lttng is free software and under the GPL license and part LGPL

至此,成功!

总结

将自己安装LTTng三个模块和其依赖的过程、以及过程中遇到了哪些报错进行整理。遇到问题的小伙伴们可以一起讨论分享自己的方法。本人第一次接触LTTng和内核开发,还处于小菜鸡一枚。

大佬们有解决private key那个报错的也可以告诉我hhh。

再次特别感谢tacks321同学帮我解决了很多问题,v他50(没有

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值