文档章节

Ubuntu下oprofile的安装过程问题记录

叶大侠
 叶大侠
发布于 2013/12/29 00:25
字数 581
阅读 2009
收藏 1

这里的Linux源代码版本是:linux-3.12.6

在Documentation/Changes文件中,提到编译环境所需要的其中一条:

oprofile 0.9 # oprofiled --version

为了能顺利编译Linux内核,要提前安装好该软件,折腾了一天,总算装好了,记录一下,以免下次再碰壁.

oprofile是什么?

<维基百科> OProfile是Linux内核支持的一种性能分析机制。 它在时钟中断处理入口处建立监测点,记录被中断的上下文现场,由配套的用户态的工具oprof_start负责在用户态收集数据,opreport则分析数据并给出分析报告。 通过这个工具,开发人员可以得知一个程序的瓶颈在哪里,进而指导代码优化。

由于在apt get 源没有相应的包,因此只能用源代码来安装了.

OProfile下载地址:http://oprofile.sourceforge.net/download/

安装过程中遇到问题:

./configure 过程: 问题1:C compiler cannot create executables 查看目录下生成的config.log文件: /usr/local/bin/ld: this linker was not configured to use sysroots 经过查阅,得知:ld是属于binutils包里面的. 于是,下载源码重新编译: binutils下载地址:http://ftp.gnu.org/gnu/binutils/?C=M;O=D 安装步骤: : ./configure --with-sysroots : make clean : make : sudo make install

这里的./configure可能也会出现ld的相关错误,如果是这种情况,这要先删除/usr/local/bin/ld文件,删除之前做个备份.然后重新执行上面的流程.

问题2:configure: error: liberty library not found 该库也是在binutils中,在libiberty下: : cd libiberty //进入该目录 :./configure //完成之后会有个Makefile文件产生 : vi Makefile // 编辑该文件,找到并修改改行为:CFLAGS = -g -O2 -fPIC 保存 : make clean : make : gcc -shared *.o -o libiberty.so //生成.so文件,把该文件拷到/usr/lib中. : sudo cp libiberty.so /usr/lib/libiberty.so

最后还需要bfd的动态链接库,也是在binutils中,在bfd中,由于自带的configure可以加入--enable-shared,所以可以利用该参数自动生成.so文件到/usr/lib中. : cd bfd : ./configure --enable-shared : make clean : make : sudo make install

准备就绪: 重新来一遍安装: : ./configure : make clean : make : sudo make install

到此没有出现错误就算成功了.

最后,这片文章帮了不少忙:http://blog.chinaunix.net/uid-13746440-id-3152484.html

© 著作权归作者所有

共有 人打赏支持
叶大侠

叶大侠

粉丝 59
博文 44
码字总数 67312
作品 5
广州
程序员
私信 提问
Android上oprofile使用说明

Android上oprofile使用说明 (2012-02-15 00:39:56) 转载▼ 注:这是本人一年半前写的文档,贴在这里作为备份,由于当时是针对 Android 1.6(Donut)、2.1(Eclair)和 2.2(Froyo)编写的,部分内容...

迷糊
2012/07/11
0
0
Android移植oprofile性能监测工具

Android移植oprofile性能监测工具 关于oprofile的移植,在Ubuntu Server 10.04平台上交叉编译,移植到Android,经过实践,以下是交叉编译的正确步骤,不保证在其他环境中能正确运行,以下是编...

晨曦之光
2012/05/24
1K
0
Android上oprofile使用说明

Android上oprofile使用说明 (2012-02-15 00:39:56) 转载▼ 注:这是本人一年半前写的文档,贴在这里作为备份,由于当时是针对 Android 1.6(Donut)、2.1(Eclair)和 2.2(Froyo)编写的,部分内容...

迷糊
2012/09/21
0
0
Oprofile在Android中的应用

1 oprofile 相关介绍 Oprofile 是用于 Linux 的若干种评测和性能监控工具中的一种。它可以工作在不同的体系结构上,包括 IA32 、 IA64 和 AMD Athlon 系列。它的开销小,将被包含在( Linux ...

鉴客
2011/07/17
2.7K
2
1.0.0版本的oprofile安装后缺了opcontrol工具

最近 因项目要求需要用到oprofile性能检测工具。我安装0.9.9版本的 oprofile一切正常,安装目录bin下面生成了包括opconrtol 、opreport等十几个工具。但是我用1.0.0版本的oprofile编译,安装...

heartsong123
2016/03/18
221
1

没有更多内容

加载失败,请刷新页面

加载更多

Django进阶 1.1 ORM基础—ORM 1.2.1 增删改查之查询 1.2.2 删改增 (1) 1.2.3 删改增 (2)

ORM基础 ORM是Django操作数据库的API,Django的作者将sql语句封装在里面供我们使用。 我们前面还提到过Django提供一个模拟数据库的工具,sqlite,供我们学习测试使用。 如果我们想使用mysql...

隐匿的蚂蚁
今天
1
0
Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
3
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部