ubuntu下 zsim + nvmain配置

内核版本

3.18.134

zsim+nvmain

下载地址
我是先按照

https://blog.csdn.net/qqq_11101/article/details/78481377

然后这个博客基本解决了大部分问题,我这里也列出我遇到的问题和解决办法

boost 1.59安装 :

下载地址
1.解压
2.解压后的目录里面打开终端

sudo ./bootstrap.sh 

遇到问题Unicode/ICU support for Boost.Regex?.. not found.
sudo apt-get install libicu-dev

3.配置完成后 ./b2 install 编译安装 (时间有点长,大概要5-10分钟)
(最好是完整安装 ./b2 --buildtype=complete install )

遇到问题
fatal eoor pyconfig.h No such file or directory 在这里插入图片描述
fatal error: bzlib.h: No such file or directory
sudo apt-get install libboost-all-dev
sudo apt-get install libbz2-dev

libconfig-1.7.2

下载地址
根据解压后的install文件安装
1.解压
2.到目录打开终端
3. $ ./configure
4. $ ./make
5. 用 $ make check 可以测试安装成功没,没报错就成功了
6.$ make install

hdf5

下载地址
1.解压
2.目录终端
3. ./configure
4. make

这里make会报错,需要到perform文件修改 zip_perf.c, 将 其中一句 像open (…,O_WRONLY | O_CREAT);的多加一个参数
变成 open (…, O_WRONLY O_CREAT, 0777); 再make

  1. make install
  2. make install-check检查安装完成
    安装成功会在目录 出现hdf5文件夹 里面有bin include lib三个文件

gcc4.8.5 g++4.85

第一步下载GCC G++

sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8

第二步设置版本



sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/g++-4.8 100

zsim - nvmain

按照github配置env.sh不行,不知道为什么,按照

https://blog.csdn.net/qqq_11101/article/details/78481377

配置可以

#!/bin/sh
PINPATH=/home/***/SHMA-master/zsim-nvmain/pin_kit/
NVMAINPATH=/home/***/SHMA-master/zsim-nvmain/nvmain/
ZSIMPATH=/home/***/SHMA-master/zsim-nvmain/
BOOST=/usr/local
HDF5=/home/jyf/SHMA-master/hdf5-1.8.9-linux-x86_64-shared
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PINPATH/intel64/lib:$PINPATH/intel64/runtime:$PINPATH/intel64/lib:$PINPATH/intel64/lib-ext:$BOOST/lib:$HDF5/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib
INCLUDE=$INCLUDE:$HDF5/include
LIBRARY_PATH=$LIBRARY_PATH:$HDF5/lib
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$HDF5/include
export ZSIMPATH PINPATH NVMAINPATH LD_LIBRARY_PATH BOOST CPLUS_INCLUDE_PATH LIBRARY_PATH

执行命令

source env.sh
scons -j4

第二个命令是编译,出现各种报错

编译出错问题解决

1.fatal error: gelf.h: 没有那个文件或目录

解决办法

sudo apt-get install  libelf-dev

参考

https://github.com/sslab-gatech/opensgx/issues/20

2.build/opt/zsim.cpp:71:26: fatal error: glog/logging.h: 没有那个文件或目录

解决办法:安装glog

  • .下载源码
git clone https://github.com/google/glog
  • .下载必要模块
sudo apt-get install autoconf automake libtool
  • .进入文件目录
./autogen.sh
./configure
make -j 24
sudo make install

参考

https://blog.csdn.net/liuxiaodong400/article/details/82951402

3.-e #define ZSIM_BUILDDATE 问题
解决办法 去掉SConstruct文件的 -e
原内容中

 if os.path.exists(".git"):
        env.Command(versionFile, allSrcs + [".git/index", "SConstruct"],
            'echo -e "#define ZSIM_BUILDDATE \\""`date`\\""\\\\n#define ZSIM_BUILDVERSION \\""`python misc/gitver.py`\\""" >>' + versionFile)
    else:
        env.Command(versionFile, allSrcs + ["SConstruct"],
            'echo  -e "#define ZSIM_BUILDDATE \\""`date`\\""\\\\n#define ZSIM_BUILDVERSION \\""no git repo\\""" >>' + versionFile)

去掉 -e

 if os.path.exists(".git"):
        env.Command(versionFile, allSrcs + [".git/index", "SConstruct"],
            'echo "#define ZSIM_BUILDDATE \\""`date`\\""\\\\n#define ZSIM_BUILDVERSION \\""`python misc/gitver.py`\\""" >>' + versionFile)
    else:
        env.Command(versionFile, allSrcs + ["SConstruct"],
            'echo   "#define ZSIM_BUILDDATE \\""`date`\\""\\\\n#define ZSIM_BUILDVERSION \\""no git repo\\""" >>' + versionFile)

再次编译软件

~/SHMA-master/zsim-nvmain$ source env.sh
~/SHMA-master/zsim-nvmain$ scons -j16

这几个问题解决之后就编译成功了!!!!!!!!!!!!!

scons: done building targets.

在bin下有这两个文件

运行问题解决

1

taya@taya-OMEN-by-HP-Laptop:~/SHMA-master/zsim-nvmain$ ./bin/zsim config/shma-static.cfg
Starting zsim, built 2018年 12月 06日 星期四 17:28:38 CST (rev no git repo)
[H] Creating global segment, 4096 MBs
[H] Global segment shmid = 8421425
[H] Deadlock detection ON
launchprocess 0
cmd:/473.astar/exe/astar_base.amd64-m64-gcc43-nn
cmd:BigLakes2048.cfg
/home/taya/SHMA-master/zsim-nvmain/pin_kit/intel64/bin/pinbin -follow_execv -tool_exit_timeout 1 -t /home/taya/SHMA-master/zsim-nvmain/bin/libzsim.so -config /home/taya/SHMA-master/zsim-nvmain/config/shma-static.cfg -outputDir /home/taya/SHMA-master/zsim-nvmain -shmid 8421425 -logToFile -procIdx 0 -- /473.astar/exe/astar_base.amd64-m64-gcc43-nn BigLakes2048.cfg 
Could not exec, killing child: Permission denied
[H] Panic on build/opt/zsim_harness.cpp:300: Could not exec /home/taya/SHMA-master/zsim-nvmain/pin_kit/intel64/bin/pinbin
[H] Child 26631 done
[H] Panic on build/opt/zsim_harness.cpp:117: Child issued a panic, killing simulation

这是因为没有授权给Pin
执行

chmod a+x $PINPATH/intel64(ia32)/bin/pinbin 

2

出现

[H] Creating global segment, 4096 MBs
[H] Global segment shmid = 5636114
[H] Deadlock detection ON
launchprocess 0
cmd:/473.astar/exe/astar_base.amd64-m64-gcc43-nn
cmd:BigLakes2048.cfg
/home/taya/SHMA-master/zsim-nvmain/pin_kit/intel64/bin/pinbin -injection child -follow_execv -tool_exit_timeout 1 -t /home/taya/SHMA-master/zsim-nvmain/bin/libzsim.so -config /home/taya/SHMA-master/zsim-nvmain/config/shma-static.cfg -outputDir /home/taya/SHMA-master/zsim-nvmain -shmid 5636114 -logToFile -procIdx 0 – /473.astar/exe/astar_base.amd64-m64-gcc43-nn BigLakes2048.cfg
/473.astar/exe/astar_base.amd64-m64-gcc43-nn : No such file or directory
[H] Child 7522 done
[H] All children done, exiting

这是因为我没有spec cpu2006所以需要修改shma-static.cfg文件最后的一段process= 修改成这样
simpoints 是作fastfoward的所以也要注释掉
在这里插入图片描述之后运行

~/SHMA-master/zsim-nvmain$ ./bin/zsim config/shma-static.cfg

3

再次出现了问题
在这里插入图片描述
去查看libzsim.so文件
在这里插入图片描述
可以看到这是由于编译时候的动态连接出了问题,然后 每句话都有boost…很明显是boost安装出了问题,因为我一开始是普通安装的,这次我就按

./b2 --buildtype=complete install

完整安装
在zsim+nvmain那个文件下执行来删除原来zsim的编译文件

source env.sh
scons -c
scons -j16

编译通过,然后执行命令

./bin/zsim config/shma-static.cfg

成功了
在这里插入图片描述


so动态连接库问题

https://www.cnblogs.com/xudong-bupt/p/3698294.html 如何定位连接库
https://blog.csdn.net/qq_21051503/article/details/80282189 关于SO动态连接库
https://blog.csdn.net/billbliss/article/details/73612063 几个学到的命令

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值