当前位置: 首页 > news >正文

Ubuntu安装IPOPT和Casadi

1.IPOPT安装
1.1安装所需功能包

sudo apt-get install cppad
sudo apt-get install gcc g++ gfortran subversion patch wget

1.2下载最新源代码3.14

https://www.coin-or.org/download/source/Ipopt/

1.3解压进入IPOPT安装包,下载ASL

git clone https://github.com/coin-or-tools/ThirdParty-ASL.git

1.4安装ASL

sudo ./get.ASL
sudo ./configure

注:若出现error: Something went wrong bootstrapping makefile fragments
for automatic dependency tracking.
原因:没有安装make
解决:

sudo apt install make
sudo make
sudo make install
cd ..

1.5安装HSL

git clone https://github.com/coin-or-tools/ThirdParty-HSL.git
cd ThirdParty-HSL

接下来需要下载coinhsl文件,并解压到ThirdParty-HSL目录下

https://github.com/CHH3213/testCPP/blob/master/coinhsl.zip
sudo ./configure

注:若出现configure: error: “Cannot check for existence of module lapack without pkgconf”
解决:

sudo apt install pkg-config

注:然后出现configure: error: Required package LAPACK not found.
解决:安装LAPACK
(1)下载LAPACK

https://www.netlib.org/lapack/
tar -zxvf lapack-3.9.0.tar.gz

(2)

mkdir build

(3)

cd build

(4)

cp ../make.inc.example make.inc

(5)

sudo cmake ..

(6)

sudo cmake --build . --target install

或者

sudo apt-get install libblas-dev liblapack-dev
sudo make
sudo make install
cd ..

1.6安装MUMPS

git clone https://github.com/coin-or-tools/ThirdParty-Mumps.git
cd ThirdParty-Mumps
sudo ./get.Mumps
sudo ./configure
sudo make
sudo make install
cd ..

1.7安装IPOPT

mkdir build
cd build
sudo ../configure
sudo make
sudo make test
sudo make install

1.8测试

cd Ipopt/build/examples/Cpp_example
sudo make
./cpp_example

1.9后续问题/usr/include/coin/IpSmartPtr.hpp:19:4: error: #error “don’t have header file for stddef”

2.0安装ipopt依赖

sudo apt-get install coinor-libipopt-dev
cd casadi-3.5.5.1
mkdir build && cd build
cmake .. -DWITH_IPOPT=ON -DWITH_EXAMPLES=OFF
make -j4
sudo make install
sudo ldconfig

参考
https://blog.csdn.net/weixin_42301220/article/details/127946528

相关文章:

  • 打印机里失败的任务删不掉的解决办法 斑马打印机更新电脑驱动和升级打印机固件 提示ribbon out 并黄状态亮+黄供应闪
  • python列表底层原理
  • 视图【mysql数据库】
  • 百度智能云千帆AppBuilder升级!开放多源模型接入,思考模型再次加速!
  • CentOS 7 安装 Minio
  • 【晚风摇叶之其他】抖音直播弹幕解析,连接websocket解析弹幕内容
  • 第三方软件检测机构要具备哪些资质要求?专业测试报告如何申请?
  • YOLO系列模型发展史
  • Linux防火墙配置案例分析:常见网络攻击的防御
  • 接下来的目标与内容
  • 利用cherry pick巧妙地将某次提交单独合并到其他分支
  • 【华为OD机试-C卷D卷-200分】反射计数(C++/Java/Python)
  • MySQL中如何知道数据库表中所有表的字段的排序规则是什么?
  • 话术巧妙分隔沟通效果更佳看看这个小技巧
  • 开源大模型与闭源大模型:谁将引领AI的未来?
  • 【React系列】如何构建React应用程序
  • Android单元测试 - 几个重要问题
  •  D - 粉碎叛乱F - 其他起义
  • JavaScript中的对象个人分享
  • Mac转Windows的拯救指南
  • Next.js之基础概念(二)
  • October CMS - 快速入门 9 Images And Galleries
  • swift基础之_对象 实例方法 对象方法。
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • unity如何实现一个固定宽度的orthagraphic相机
  • WebSocket使用
  • 百度地图API标注+时间轴组件
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 基于组件的设计工作流与界面抽象
  • 简单数学运算程序(不定期更新)
  • 理清楚Vue的结构
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 入口文件开始,分析Vue源码实现
  • 学习笔记:对象,原型和继承(1)
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​人工智能书单(数学基础篇)
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​数据链路层——流量控制可靠传输机制 ​
  • ​虚拟化系列介绍(十)
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #NOIP 2014#Day.2 T3 解方程
  • #QT(TCP网络编程-服务端)
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (原創) 未来三学期想要修的课 (日記)
  • (转)nsfocus-绿盟科技笔试题目
  • (转)关于多人操作数据的处理策略
  • 、写入Shellcode到注册表上线
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net MySql