ubuntu下 zsim + nvmain配置"/>
ubuntu下 zsim + nvmain配置
内核版本
3.18.134
zsim+nvmain
下载地址
我是先按照
然后这个博客基本解决了大部分问题,我这里也列出我遇到的问题和解决办法
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
make install
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 100sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/g++-4.8 100
zsim - nvmain
按照github配置env.sh不行,不知道为什么,按照
配置可以
#!/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
参考
2.build/opt/zsim.cpp:71:26: fatal error: glog/logging.h: 没有那个文件或目录
解决办法:安装glog
- .下载源码
git clone
- .下载必要模块
sudo apt-get install autoconf automake libtool
- .进入文件目录
./autogen.sh
./configure
make -j 24
sudo make install
参考
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动态连接库问题
.html 如何定位连接库
关于SO动态连接库
几个学到的命令
更多推荐
ubuntu下 zsim + nvmain配置
发布评论