shell win10 改成cmd_IBSimu在win10分系统ubuntu的安装和计算详细教程

本文详细记录了在Windows 10系统上通过安装Ubuntu子系统来解决IBSimu开源离子束仿真软件安装过程中遇到的问题。在Ubuntu中,通过安装必要的库和依赖,如libcairo2-dev、libgsl-dev等,以及解决编译错误,最终成功安装并设置了环境变量。文章还提供了安装Ubuntu子系统、更新系统、配置环境变量以及编译和运行IBSimu的步骤,帮助读者解决类似问题。
部署运行你感兴趣的模型镜像
在分享|国外一款用于离子束仿真的开源软件IBSimu一文中介绍了国外开源的一个程序包IBSimu,用来仿真离子源的引出过程,并且给出了安装过程,但是在实际操作过程中我发现使用msys2+mingw的方式总是出现问题,尝试了两天后依然没解决zlib库的问题,听朋友说在win10上安装ubuntu比较不错,于是尝试了这个,找到国外一个教程,发现还是有问题,果然菜是原罪,折腾了两天发现依然是环境配置有问题,今天下午找到我一个会linux的师弟,折腾了整整半天终于搞定了,我现在分享出来。首先是ubuntu的安装关于在windows系统上安装ubuntu的教程请看适用于 Linux 的 Windows 子系统安装指南 (Windows 10),按照这个教程一步步操作就行,需要说明的一点是需要检查CPU是否开启的虚拟化,没有的话需要在bios界面开启虚拟化,结果如下图所示。开启bios虚拟化的过程请参考百度知道:电脑怎么在bios开启虚拟化。b71f9865caa8c09ec87caf3ecd5c45ee.png另一个需要注意的点是先更新windows系统,最好更新到最新的win10,在windows官方系统有说,我使用的是2004版本,win+R然后输入winver,确定后即可查看自己的系统版本。更新版本很费时间,我这边花了大半天时间。6213812d814f6546a2df011e03aeed39.png然后是在ubuntu上安装和编译IBSimu,详细过程如下这是在国外一个安装教程的基础之上进行的修改。

安装库环境

ubuntu环境为例,CentOS等是相似的。
sudo apt install libcairo2-devsudo apt install libgsl-devsudo apt install libgtk-3-devsudo apt install gcc
除了这些库,可能还需要gsl等,这个库无法直接安装,如何安装请看下文。下载IBSimu
git clone git://ibsimu.git.sourceforge.net/gitroot/ibsimu/ibsimu

编译

cd ibsimu./reconf./configure --prefix=`pwd`make -j4 ##4核或者8核,我这里用的4核make install
老外:你可能需要将“./configure”行中的前缀路径调整为下载存储库的文件夹,即更改‘’pwd‘注:pwd指令意为返回当前执行命令的目录,而`pwd`的意思是先运行pwd后把结果填上去,但是有的环境有可能不能这么写,比如在ubuntu下这个指令可以正常执行,但在一个全新的arch虚拟机里,就得写成./configure --prefix=/home/yyxc-1993/ibsimu在实际操作过程中,在./reconf这个环节遇到了一些问题afa495f1ce48b93f946974192a8b71c2.png这里显示库安装不全面,还有一些其他的库需要安装。按照上图提示,通过搜索包含相关库的源获取,然后安装。过程如下:对于ubuntu系统,可用apt-file包查询缺失的文件,用sudo apt install apt-file命令安装apt-file。
sudo apt install apt-file# 假设缺失的文件是cairo2sudo apt-file update# 第一次用要用update命令刷新缓存sudo apt-file search cairo2# 在返回的结果里,左侧一列是软件包名,右侧一侧是查找到的文件名,在软件包名中找一个看上去差不多的包安装(依赖装多了没关系),例如libcairo2-dev这个sudo apt install libcairo2-dev
对于arch系统,由于其包管理系统更加健全,可直接安装报错中提到的包,例如
# ...checking for cos in -lm... yeschecking for LIBPNG... yeschecking for FONTCONFIG... yeschecking for FREETYPE... yesconfigure: error: required library cairo not found# 报错提示cairo包找不到sudo pacman -S cairo
这里还出现了另一个问题,如果环境配置好了还是无法通过编译,可能是由于之前configure命令导致配置出错,可以尝试重新git clone IBSimu库再执行编译的步骤。到这里,IBSimu的安装就完成了,接下来是如何做一个仿真案例。接下来遇到了路径的问题,我这里直接给出结果

环境变量设置

老外:在你编译任何项目之前,你必须设置好环境变量。下面是我在arch虚拟机里运行的结果,可以看到最终编译的结果被安放在了圈出来的位置。在之前的ubuntu虚拟机里,这个结果是/home/yyxc-1993/code/ibsimu/lib/pkgconfig0e00e3cef14c6fce24500dfae5f9c967.png现在,要设置两个环境变量,以便在以后的程序运行中让编译器能顺利找到本次安装的程序。你可以直接在终端里运行以下命令
export PKG_CONFIG_PATH="/home/yyxc-1993/code/ibsimu/lib/pkgconfig"export LD_LIBRARY_PATH="/home/yyxc-1993/code/ibsimu/lib"
如果你不想每次打开终端都输入一遍的话,往下看。老外:如果你想在任何时候打开一个新的控制台/终端,你可以把这些命令放到你的“.bashrc”中。首先找到当前路径:注:bash是linux的默认shell,每当你打开一个linux终端时,bash都会读取目录下.bashrc文件中的参数。你也可以输入source ~/.bashrc来立即让bash读取这个文件,而不用重新打开一个终端。注:如果你使用的不是bash,例如zsh,要更改的文件就是.zshrc
cdnano ~/.bashrc
老外:复制这两个路径放到最后并保存
export PKG_CONFIG_PATH="/home/yyxc-1993/code/ibsimu/lib/pkgconfig"export LD_LIBRARY_PATH="/home/yyxc-1993/code/ibsimu/lib"
注:这两个位置是根据编译最后一步的结果来定的,例如如果是我在arch虚拟机中的结果,这两句就是这样
export PKG_CONFIG_PATH="/home/xuwanqian/code/ibsimu/lib/pkgconfig"export LD_LIBRARY_PATH="/home/xuwanqian/code/ibsimu/lib"

makefile的设置

CC = g++LDFLAGS = `pkg-config --libs ibsimu-1.0.6dev`CXXFLAGS = -Wall -g `pkg-config --cflags ibsimu-1.0.6dev`vlasov2d: vlasov2d.o$(CC) -o vlasov2d vlasov2d.o $(LDFLAGS)vlasov2d.o: vlasov2d.cpp$(CC) -c -o vlasov2d.o vlasov2d.cpp $(CXXFLAGS)clean:$(RM) *~ *.o vlasov2d ##vlasov2d是cpp文件的文件名
设置好之后,直接在windows下建立一个test文件夹,然后建立一个txt文档,将名字改成makefile代码里面的同名文件,格式更改为.cpp,输入需要计算的模型代码(案例请看上一篇更新,直接复制即可)再建立一个空白txt文档,命名为makefile文档,删除.txt保存。然后采用记事本打开这个文档,复制上面的代码(按需修改)。然后在test文件夹空白处【shift+右键】【在此处打开linux shell】,输入make开始编译,最后再键入编译好的结果开始计算,我这里的命名是vlasov2d。
make./vlasov2d
至此完成计算。结果如下:99887bda128bbba258813fddd39a0754.png1a6842d4052ba8d31a38ef0844c32d08.png

您可能感兴趣的与本文相关的镜像

Dify

Dify

AI应用
Agent编排

Dify 是一款开源的大语言模型(LLM)应用开发平台,它结合了 后端即服务(Backend as a Service) 和LLMOps 的理念,让开发者能快速、高效地构建和部署生产级的生成式AI应用。 它提供了包含模型兼容支持、Prompt 编排界面、RAG 引擎、Agent 框架、工作流编排等核心技术栈,并且提供了易用的界面和API,让技术和非技术人员都能参与到AI应用的开发过程中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值