欢迎来到天天文库
浏览记录
ID:8802302
大小:73.00 KB
页数:7页
时间:2018-04-08
《ubuntu9.04下安装simplescalar》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Ubuntu9.04下安装SimpleScalar东南大学WZK1.安装环境Ubuntu9.04,GCC-4.3.3(该操作系统自带)。本安装过程在以上环境中测试通过,如果所在机器GCC版本不是4.3.3,可能安装过程会有所不同,但总体的思路一致。2.软件下载首先到http://www.simplescalar.com上下载以下三个tar包。simplesim-3v0d.tgzsimpletools-2v0.tgzsimpleutils-2v0.tgz整个安装过程只需这个三个软件包即可。3.安装过程3
2、.1解压缩假设把这三个软件包放在目录/root下。我们新建一个simplescalar目录,并将这三个包复制放入。然后解压缩,再将三个压缩包删除。命令如下,假设当前在/root下。mkdirsimplescalar;建立文件夹cpsimplesim-3v0d.tgzsimplescalar/;复制cpsimpleutils-2v0.tgzsimplescalar/cpsimpletools-2v0.tgzsimplescalar/cdsimplescalar/;进入该文件夹tar–zxvfsimple
3、sim-3v0d.tgz;对tar包进行解压缩,由于该包tar–zxvfsimpletools-2v0.tgz;有gzip压缩,故加上z选项,xtar–zxvfsimpleutils-2v0.tgz;是解压tar,v是列出文件,f指明rm–f*.tgz;要解压的文件ls结果如下3.2设置环境变量需设置三个环境变量,以方便后面的安装,不设置也行。exportHOST=i386-ubuntu-linux;格式为机器类型-公司-系统exportTARGET=sslittle-na-sstrix;设置为小字端
4、机器exportIDIR=/root/simplescalar;将结果安装到/root/simplescalar设置完成后可以依次输入echo$HOST,echo$TARGET,echo$IDIR,以检查设置是否正确。比如输入echo$HOST,输出为i386-ubuntu-linux3.3编译binutils2.5.2进入binutils2.5.2并配置一下,然后编译,安装。在这里将遇到许多问题,后面将会一一举出。命令如下:cdbinutils-2.5.2./configure-host=$HOST
5、-target=$TARGET-with-gnu-as-with-gnu-ld-prefix=$IDIRmake简单解释一下上述命令,configure是Linux世界的一个标准,它是一个shell文件。一般标准的程序都会提供一个configure脚本,以提供对程序的配置功能,然后根据该配置来生成最终的Makefile,以便编译。注意的是-prefix前面要有一个空格与-with-gnu-ld分开。首先会碰到第一个编译错误:gcc-c-g-I.-I./../includestrerror.cstrer
6、ror.c:467:错误:对‘sys_nerr’的静态声明出现在非静态声明之后/usr/include/bits/sys_errlist.h:27:错误:‘sys_nerr’的上一个声明在此strerror.c:468:错误:与‘sys_errlist’类型冲突/usr/include/bits/sys_errlist.h:28:错误:‘sys_errlist’的上一个声明在此make[1]:***[strerror.o]错误1make[1]:正在离开目录`/root/simplescalar/bin
7、utils-2.5.2/libiberty'make:***[all-libiberty]错误2解决:进入/root/simplescalar/binutils-2.5.2/libiberty打开strerror.c,在第25行加入#undefNEED_sys_errlist第二个错误:bison-y-d./ldgram.y make[1]:bison:命令未找到 make[1]:***[ldgram.c]错误127 make[1]:正在离开目录`/root/simplescalar/binutils
8、-2.5.2/ld' make:***[all-ld]错误2这是由于没有安装bison的缘故,执行apt-getinstallflexbison安装bison第三个错误:./ldlex.l:在函数‘yy_input’中: ./ldlex.l:477:错误:‘yy_current_buffer’未声明(在此函数内第一次使用) ./ldlex.l:477:错误:(即使在一个函数内多次出现,每个未声明的标识符在其 ./ldlex.l:477:错误:所在的函数内
此文档下载收益归作者所有