因为研究的领域是模型检测,所以需要用到强大的软件产品线模型检测工具-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-devflexbison2、安装1)首先用命令来安装flex和bison:sudo apt-get install flex bison2)接着配置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,我也不知道用来干嘛,就是编译用的