搭建infer前需要
配置JDK1.7+ python2.7+ocamlc+opam,文中详解
infer下载地址:https://github.com/facebook/infer/releases/ 下载:infer-linux64-v0.8.1.tar.xz
1、将infer-linux64-v0.8.1.tar.xz拷贝至你的目录中,注意使用root身份登录,拷贝至/root中。
#cp infer-linux64-v0.8.1.tar.xz
2、解压缩。
#tar xf infer-linux64-v0.8.1.tar.xz 或直接双击解压缩.
3、检查编译。
#./configure
你可能会遇到错误:
configure: error: ocamlc not found.
这是未安装ocamlc的原因,解决办法,
安装ocamlc: sudo apt-get install ocamlc
再次运行 ./configure
可以遇到以下错误:
原因缺少atdgen,解决办法:
sudo apt-get install atdgen 结果会发现找不到对应的软件安装
那我们可以去atdgen官网下载安装:https://launchpad.net/ubuntu/+source/atdgen
这样会很复杂,我们不是安装了ocamlc。
根据其中的提示,我们可以使用opam安装缺少的插件。运行:sudo opam install atdgen ,若是当前opam环境没有配置好,我们需要先配置opam环境。
我们先配置好apam环境:
./opam init --comp=4.02.3
eval `./opam config env`
然后运行 opam switch 我们可以看到我们系统中有哪些版本的编译器了。
然后运行 sudo opam install atdgen ,就可以安装了
接下来在运行检查编译还有可能会遇到 configure: error: missing dependency: XXXXXXX . 类似的软件缺失提示,我们只要按照上面的步骤安装补全即可,据我安装经验会需要javalib、oUnit、extlib、camlzip、atdgen、sawja(按顺序安装出错概率小)
这些都安装好了,还有可能会提示: configure: error: javac not found. 原因是没有java环境,注意,暂时它只支持1.7版本的java,装了更高版本的依然会报错的。
apt-get install openjdk-7-jdk 会找不到安装包
opam install openjdk-7-jdk 也会找不到安装包
我们只能选择离线安装了,去官网下载jdk安装包,注意选择对应系统属性的
Linux下 java的离线安装配置:http://my.oschina.net/hibony/blog/693581
还需要python2.7的环境,其他版本也会有问题。当然linux一般默认自带python环境,而且就是2.7版本的,所以我们可以不用管。执行python便可以看到当前的python版本。
4、编译
检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译。
#make 或者 make java
5、安装
成功编译后,开始安装。
#make install
6、安装清理
安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。
#make clean
#make distclean
至此,安装结束。
如果要卸载,则执行make uninstall
记录一下遇到的问题:
./configure 提示:Package atdgen is already installed (current version is 1.6.0).
opam install atdgen 提示:findlib package atdgen version 1.6.0... not found
冲突之后使用:./build-infer.sh*
来源:oschina
链接:https://my.oschina.net/u/2733866/blog/690740