编译安装dyninst

Ubuntu 14.04 安装编译dyninst踩坑指南
在Ubuntu 14.04上编译安装dyninst-9.3.1的过程记录,包括所需依赖安装、解决boost找不到问题以及libdwarf编译错误的解决方案。

系统:ubuntu14.04.5

cmake-2.8.12.2

dyninst-9.3.1

花了一天的时间,期间走了很多弯路,莫名其妙的就装成功了。


完整安装方法:

1.安装dyninst需要的其他软件

sudo apt-get install cmake libblkid-dev e2fslibs-dev libboost-all-dev libaudit-dev texlive-latex-base libelf-dev libdwarf-dev libiberty-dev

2.下载dyninst-9.3.1,https://github.com/dyninst/dyninst/archive/v9.3.1.tar.gz,解压。

3.编译安装,可以直接在根目录中cmake,然后make&make install,也可以自己创建一个build目录。

cmake /path/to/dyninst/source -Dfoo=bar 
make
sudo make install


遇到的问题:

1.安装dyninst-9.3.1需要boost环境,就单纯的用sudo apt-get install  libboost-dev安装了boost,写代码测试了boost没有问题,但是cmake dyninst是还是报boost找不到。猜测需要自己编译安装boost,编译安装boost后同样的问题。猜测是cmake和boost之间的问题。

解决办法:

sudo apt-get install cmake libblkid-dev e2fslibs-dev libboost-all-dev libaudit-dev


2.Linking CXX shared library libdynDwarf.so

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libdwarf.a(dwarf_alloc.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libdwarf.a: error adding symbols: Bad value
解决办法:
自己在github下载最新的libdwarf,使用-fPIC重新编译(./configure --enable-shared),但不能正常使用。
在网上到了一个解决办法,http://askubuntu.com/questions/502749/install-libdwarf-so-on-ubuntu。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值