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

被折叠的 条评论
为什么被折叠?



