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.sook不报错

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 keyDEPMOD  3.10.0-1160.59.1.el7.x86_64cd lttng-modules-2.13.* &&
make &&
sudo make modules_install &&
sudo depmod -adepmod -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 -yyum 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.orglttng is free software and under the GPL license and part LGPL

至此,成功!

总结

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

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

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

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

  1. python安装pip之后 pip命令报错解决方法

    使用源码包安装python2.7之后. 安装pip工具,下载地址: https://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da29 ...

  2. es修改IK分词器源码 mysql热词动态更新(报错解决x3)

    最近在公司遇到的一个问题,给elasticsearch配置ik热部署mysql词库. 我是参照下面这个博客来做的 https://www.cnblogs.com/xiaoxiaoliu/p/11218 ...

  3. .net core 部署到 iis 步骤及报错解决方法

    我写了一个Asp.net core mvc项目,但是部署在iis发生了502.5的问题一直解决不了. 环境 系统:最强Win10; 工具:轻巧VS Code; 各种百度bing都没有我要的解决方案,说 ...

  4. anaconda安装配置步骤、报错解决

    文章目录 anaconda安装配置 安装 配置 BUG anaconda安装配置 安装 安装参考博客: https://blog.csdn.net/wq_ocean_/article/details/ ...

  5. please reinstall the mysql distribution_php安装扩展mysqli的实现步骤及报错解决办法

    php安装扩展mysqli的实现步骤及报错解决办法 terminal#cd php-5.3.6/ext/mysqli #/usr/local/webserver/php/bin/phpize #./c ...

  6. php mysqli报错,php安装扩展mysqli的实现步骤及报错解决办法

    php安装扩展mysqli的实现步骤及报错解决办法 terminal #cd php-5.3.6/ext/mysqli #/usr/local/webserver/php/bin/phpize #./ ...

  7. php的mysqli步骤,php安装扩展mysqli的实现步骤及报错解决办法

    php安装扩展mysqli的实现步骤及报错解决办法 php安装扩展mysqli的实现步骤及报错解决办法 terminal #cd php-5.3.6/ext/mysqli #/usr/local/we ...

  8. linux系统Nginx下载安装步骤(含报错解决方法)

    linux系统Nginx下载安装步骤(含报错解决方法) 基础步骤 安装过程可能出现的报错及解决方法 执行 ./configure --prefix=/opt/nginx 报错 执行 make inst ...

  9. 高翔视觉SLAM十四讲(第二版)各种软件、库安装的以及报错解决方法

    目录 前言 系统版本 下载高翔视觉SLAM十四讲第二版的源代码 一.安装 Vim 二.安装 g++ 三.安装 KDevelop 以及汉化 1.安装 2.汉化 四.安装 Eigen 库 五.安装 Pan ...

最新文章

  1. ICCV2019 3D分割之3D encoder-decoder结构
  2. SpringBoot mybatis Interceptor分页实现
  3. 正则表达式与神经网络的深度融合
  4. myeclipse6.0.1(内置了eclipse)安装及其配置
  5. 测试下微信公众号新功能
  6. mysql delette_关于字符串:首字母大写MySQL
  7. ARM汇编编程基础之一 —— 寄存器
  8. android 广告设置秒数,Android动态显示具体到秒的相聚时间
  9. 【java】Java中TypeReference用法说明
  10. python监听键盘输入 linux_Linux下使用Python捕获键盘输入
  11. BN、LN、IN、GN、SN归一化
  12. ajax id sort,带有ajax更新的Jqueryui可排序列表
  13. Java后端开发笔试题
  14. 爬虫(二)—解析真实网页(猫途鹰)
  15. Excel基础(08)IF函数
  16. 二级缓存j2cache和SpringBoot整合
  17. 优酷发布2018世界杯战略 视频云将提供全程技术保障
  18. MindManager22直装版思维导图新功能
  19. 猴子吃桃问题:(非常简单易懂的方法)
  20. Netty4.x 的逆袭之路 —— 再识 Netty

热门文章

  1. 3D建模巨头Twaver--入门篇2
  2. 关系型数据库分库分表中间件之选型
  3. 西门子S7-1200控制5轴伺服程序加维纶触摸屏画面案例
  4. oc语言和c语言,OC和C语言的混编注意点和好处
  5. 转: std::string用法详解
  6. 秒懂Java代理与动态代理模式
  7. 【BAT-表姐御用01dir命令】批量获取文件夹中的文件名
  8. 华为机试HJ94:记票统计
  9. Python中的difflib模块(文本对比)
  10. 《惢客创业日记》2021.07.19-24(周一)有机会,就争取