因为研究的领域是模型检测,所以需要用到强大的软件产品线模型检测工具-SNIP
首先SNIP下载地址:https://projects.info.unamur.be/fts/snip/
因为SNIP需要在Linux系统下安装使用,所以安装虚拟机,安装Ubuntu操作系统,以上过程不在此赘述。下面主要介绍我安装SNIP的纠结过程。
一开始我用的是最新版本的Ubuntu14.04桌面版,但是最新版本中不能使用sudo apt-get install ***来装所需的软件,总是所没有响应可选的包。然后我又重新下载源文件,进行一系列的解压、配置、编译和安装过程,此过程还重装了几次Ubuntu,终统统以失败而告终。
想到以前就与Ubuntu做过斗争,因为是联网的问题,最后换了个版本,搞定了,所以这次也决定重新开始,重新安装了Ubuntu13.06桌面版,终于可以用命令来安装软件了,很开心的说。
1、安装SNIP所需要的配置
Java运行环境
zlib1g-dev
flex
bison
2、安装
1)首先用命令来安装flex和bison:sudo apt-get install flex bison
2)接着配置Java环境,因为我是有一个jdk源码,所以就用解压、编译安装过程,也算学习Linux系统下两种安装软件的方式了
jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
我下载的是jdk-7u60-linux-i586.tar.gz
然后是解压的家目录下,终端执行:tar -zxvf jdk-7u60-linux-x64.tar.gz -C ~/得到一个jdk1.7.0_60,接下来设置环境变量,终端执行:sudo gedit /etc/environment
在已有的PATH变量后添加jdk的bin目录,注意用冒号与已有变量隔开
再添加CALSSPATH和JAVA_HOME变量
我的情况如下:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/ubuntu/jdk1.7.0_60/bin"
CLASSPATH="/home/ubuntu/jdk1.7.0_60/lib:." 注意后面有个点
JAVA_HOME="/home/ubuntu/jdk1.7.0_60/"
设置好后,注销或重启使环境变量生效!
查看是否生效,终端执行:java -version ,就可以看到版本就是刚配置的7u60 。
3)安装zlib1g-dev
终端执行:sudo apt-get install zlib1g-dev
安装成功,但是在编译SNIP时出错,说
/usr/bin/ld:can not find -l_standard
/usr/bin/ld:can not find -lstdc++
纠结了半天最终定位到zlib1g-dev安装包可能有问题,随便在网上搜,一个无意中的命令解决了问题sudo apt-get build-dep zlib1g-dev,执行结果好像是对zelib升级,最后编译snip,竟然成功了,很欣慰。
3、所有的包安装好后,就要安装SNIP了
这个很简单,解压tar -zxvf snip-r753-20110728.tar.gz
进入解压后的目录cd snip-r753-20110728
再进入src,cd src
最后sh build.sh
安装完成测试下:./snip
如果安装成功会出现SNIP的用法和命令,否则没有成功,我总与安装成功了
注:需要在build.sh 文件最后加一个库文件-lm,我也不知道用来干嘛,就是编译用的