Unbutu系统编译Highs

Highs是一款开源求解器,因此可以在任意平台上通过源码直接进行编译部署。

最近使用到了银河麒麟V10桌面版操作系统,并需要将Highs离线部署到这个系统上去,写下此篇博客记录并总结经验。

银河麒麟系统

银河麒麟V10桌面版系统Unbutu系统,基于Dibian的linux系统,是国产化系统。它还有服务器版本Centos系统,基于的是redhat的linux系统。Unbutu系统的优点是对用户更友好,Centos系统的优点是安全性更好。

由于桌面版和服务器版的操作命令不同,希望大家在下载的时候看清楚版本。另外,本人是linux小白。

1.离线包准备

使用apt命令在线安装实属非常方便,但有时则需要我们掌握离线安装的能力。那么首先我们就需要在一台可联网的机器上使用apt download 命令下载所需的离线包。

$ apt download some package

我们需要以下几个安装包来编译Highs。

 1.1 Cmake离线包&依赖项

 首先下载cmake离线包,在cmake&依赖项文件夹中打开终端,并输入:

$ apt download cmake

 此时就会发现cmake的deb安装包已经被下载下来了,其中.deb文件只能用于Ubuntu系统,并使用dpkg进行安装和包管理。

运行dpkg命令安装cmake:

$ sudo dpkg -i *

 然后我们会发现报错,这是因为cmake还有其他依赖项,cmake-data、libjsoncpp1和librhash0.

 那么我们将这三个也一起下载了,输入命令:

$ apt download cmake-data libjsoncpp1 librhash0

然后在此使用dpkg命令安装所有包,安装完成。

1.2 g++离线包&依赖项

对于GCC离线包和依赖项一共由43个,一个一个下载过于麻烦,因此我们可以下载apt-rdepends来获取依赖项的递归关系,如果没有apt-rdepends,可以使用apt命令下载一个。

$ sudo apt install apt-rdepends

下载g++:

$ apt download g++

离线安装g++:

$ sudo dpkg -i *

缺少依赖项报错:

 我们可以看到是缺少的是g++-9和g++-10。

那么运行以下命令将其所有依赖项都安装到当前目录。

$ apt download $(apt-rdepends g+++-9 g++-10 | grep -v "^ " )

共计下载了43个包,使用以下命令离线安装:

$ sudo dpkg -i *

2.离线安装

在离线系统上在各个文件夹中运行以下命令即可,也可以把安装包放到一个文件夹中运行一次命令。

$ sudo dpkg -i *

3.编译并安装HiGHS

使用cmake命令编译HiGHS,首先从github上下载HiGHS源码。进入文件夹执行以下命令:

$ mkdir build
$ cd build 
$ cmake ..

此时完成了HiGHS项目文件的生成,然后执行以下命令进行编译。

$ cmake --build .

完成项目编译后,执行以下命令安装HiGHS。

$sudo cmake --install .

完成项目安装。

想要运行HiGHS,首先需要配置环境变量。执行以下命令:

$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

其中,/usr/local/lib为安装的默认位置,也可自行指定安装路径,HiGHS编译详情可参考HiGHS手册。

然后运行:

$ highs

当输出以下结果时,表明HiGHS已经成功安装。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值