Ipopt-3.12.7在ubuntu18.04安装
安装过程
1、下载Ipopt-3.12.7包
点此下载
2、安装依赖
sudo apt-get install libblas3 libblas-dev liblapack3 liblapack-dev gfortran build-essential cppad gcc g++
3、安装HSL
1)去注册并下载源码
2)解压缩后重命名为coinhsl
,放到Ipopt-3.12.7/ThirdParty/HSL/coinhsl
目录下
4、安装第三方库
cd Ipopt-3.12.7/ThirdParty/ASL
./get.ASL
cd ../Blas
./get.Blas
cd ../Lapack
./get.Lapack
cd ../Metis
./get.Metis
cd ../Mumps
./get.Mumps
cd ../../
如执行./get.Mumps
遇到无法下载的情况,可以直接拷贝最后蓝奏云盘内的Mumps
文件夹覆盖原来的文件夹即可。
5、编译
mkdir build
cd build
#使用intel编译器
../configure --prefix=/usr/local/ ADD_CFLAGS=-fopenmp ADD_FFLAGS=-fopenmp ADD_CXXFLAGS=-fopenmp --with-blas="-L$MKLROOT/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lm"
#或者其他
../configuremake -j4
6、测试是否编译成功
make test#成功显示如下:
Testing AMPL Solver Executable...Test passed!
Testing C++ Example...Test passed!
Testing C Example...Test passed!
Testing Fortran Example...Test passed!
7、安装
sudo make install
8、防止报错
cd ~/Ipopt-3.12.7
$ sudo cp -a include/* /usr/include/.
$ sudo cp -a lib/* /usr/lib/.
sudo ldconfig
有些版本在安装过程中已经执行了这个操作,中间目录可以不复制,但是一定要运行最后一句
9、测试案例
测试案例下载
解压后运行
mkdir build
cd build
cmake ..
make
./solver
如果成功则显示下面的解
自用的ipopt3.12.7安装相关的包打包到一起:
https://wwd.lanzoue.com/iGkPJ0enmdmf
密码:9q84
安装过程中遇到的错误
1、cppad错误
/home/robot/Desktop/ipopt_example-master/example.cpp:1:10: fatal error: cppad/ipopt/solve.hpp: No such file or directory1 | #include <cppad/ipopt/solve.hpp>
此种错误有两个原因,一个是cppad没装,这种最好解决,直接安装即可
sudo apt-get install cppad
第二种可能是ipopt没有安装成功,再重新尝试上述过程
2、sed:-e 报错
sed:-e 表达式 #1,字符 10:未终止的“s”命令
不要用自己配置的conda虚拟环境,可能会出现这个错误
3、GLIBCXX报错
libstdc++.so.6: version `GLIBCXX_3.4.29' not found
解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found 的报错
4、libmkl_intel_lp64.so.2
报错
/usr/bin/ld: warning: /usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/usr/bin/ld: warning: /usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
/usr/bin/ld: warning: libmkl_intel_lp64.so.2, needed by /usr/local/lib/libipopt.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libmkl_sequential.so.2, needed by //usr/local/lib/libcoinhsl.so.1, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libmkl_core.so.2, needed by //usr/local/lib/libcoinhsl.so.1, not found (try using -rpath or -rpath-link)
//usr/local/lib/libcoinhsl.so.1:对‘dswap_’未定义的引用
/usr/local/lib/libipopt.so:对‘dpotrf_’未定义的引用
/usr/local/lib/libipopt.so:对‘dgemm_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘dtpmv_’未定义的引用
/usr/local/lib/libipopt.so:对‘dnrm2_’未定义的引用
/usr/local/lib/libipopt.so:对‘dscal_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘dtrsv_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘sswap_’未定义的引用
/usr/local/lib/libipopt.so:对‘dpotrs_’未定义的引用
/usr/local/lib/libipopt.so:对‘dppsv_’未定义的引用
/usr/local/lib/libipopt.so:对‘dtrsm_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘stpsv_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘dtrmm_’未定义的引用
/usr/local/lib/libipopt.so:对‘daxpy_’未定义的引用
/usr/local/lib/libipopt.so:对‘dgetrf_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘ssyrk_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘dtpsv_’未定义的引用
/usr/local/lib/libipopt.so:对‘dcopy_’未定义的引用
/usr/local/lib/libipopt.so:对‘idamax_’未定义的引用
/usr/local/lib/libipopt.so:对‘pardiso_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘isamax_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘saxpy_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘sgemm_’未定义的引用
/usr/local/lib/libipopt.so:对‘dsyrk_’未定义的引用
/usr/local/lib/libipopt.so:对‘dasum_’未定义的引用
/usr/local/lib/libipopt.so:对‘dsyev_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘dtrmv_’未定义的引用
/usr/local/lib/libipopt.so:对‘dgetrs_’未定义的引用
/usr/local/lib/libipopt.so:对‘pardisoinit_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘strsm_’未定义的引用
/usr/local/lib/libipopt.so:对‘ddot_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘sgemv_’未定义的引用
/usr/local/lib/libipopt.so:对‘dsymv_’未定义的引用
//usr/local/lib/libcoinhsl.so.1:对‘scopy_’未定义的引用
/usr/local/lib/libipopt.so:对‘dgemv_’未定义的引用
collect2: error: ld returned 1 exit status
CMakeFiles/solver.dir/build.make:96: recipe for target 'solver' failed
make[2]: *** [solver] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/solver.dir/all' failed
make[1]: *** [CMakeFiles/solver.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
把libmkl_intel_lp64.so.2文件所在路径写入.bashrc
文件当中
export LD_LIBRARY_PATH=/opt/intel/oneapi/mkl/2022.2.0/lib/intel64
https://github.com/UMich-BipedLab/Cassie_CFROST
https://github.com/qianqian121/ipopt_example
https://www.coin-or.org/CppAD/Doc/doxydoc/html/index.html
Ipopt-3.12.7在ubuntu18.04安装相关推荐
- ubuntu18.04 安装qt5.12.8及环境配置的详细教程
这篇文章主要介绍了ubuntu18.04 安装qt5.12.8及环境配置的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 环境 系统: ...
- Ubuntu18.04安装cuDNN和Tensorflow的正确姿势
文章目录 Ubuntu18.04安装cuDNN和Tensorflow的正确姿势 一.检查NVIDIA驱动是否安装成功 二.检查CUDA是否安装成功 三.安装cuDNN 1. 确定版本 2. 下载安装包 ...
- Ubuntu18.04安装ax200网卡驱动以及更新内核
Ubuntu18.04安装ax200网卡驱动以及更新内核 参考资料:https://zhangyiming748.github.io/2019/12/05/useAX200OnUbuntu/ 原来的网 ...
- Ubuntu18.04安装evo及简单使用方法
做slam常常会测试算法的指标,那么evo工具自然是很好的选择,以下为Ubuntu18.04安装evo评估工具的方法及简单使用方法: 一.安装流程: 1.设置优先级,数字越大默认优先级越高,将pyth ...
- Ubuntu18.04安装EVO工具
一 安装 (笔者通过下载源码安装evo1.1.2,python版本为2,无需切换到3 亲测有效!) python --version //确认当前python版本是否为2,若为3建议手动切换到2在进行 ...
- Ubuntu18 04安装QQ
Ubuntu18.04安装QQ Created time: December 20, 2022 5:12 PM Last edited time: December 20, 2022 6:15 PM ...
- Ubuntu18.04安装Carla 记录
官方文档:CARLA Simulator 方式一:简单快速安装,该方式有缺陷.需要使用虚幻引擎编辑器的高级定制和开发选项不可用. Advanced customization and developm ...
- Ubuntu18.04安装Xfce桌面与VNC远程工具
1. Xfce桌面的安装 Xfce是一款轻量级的桌面环境,运行在类Unix操作系统 (如Linux.FreeBSD 和 Solaris)上,界面清爽美观且对用户友好. 在安装Xfce前需要更新一下系统 ...
- Ubuntu18.04 安装后应该做的事(更新中)
Ubuntu18.04 安装后应该做的事 1.更新源 找到Software & Updates,将源更新为阿里云的源 在Other Software里将Canonical Partners勾上 ...
最新文章
- 2021-11-05 虚拟机centos7更改root与home分区大小
- 怎么查到mysql的账号密码是什么_怎么查到mysql的账号密码是什么?
- 自动分号插入 ASI
- Objc基础学习记录5
- 牛客16464 神奇的幻方
- 必须知道的app测试与web测试的区别
- open jdk 证书 问题
- 测试用例的设计方法及例子
- corpus iweb_智能网络语料库iWeb及其在英语教学中的应用
- 计算机关机界面卡住,win7关机卡死在正在关机界面
- 机器学习中的数学——优化技术:参数初始化策略
- 技术人员成长路线感悟
- 程序员分级-八个等级
- 腾讯起诉抖音播放《王者荣耀》获赔 60 万
- Kotlin 协程是个什么东西?
- SAP系统接口对接历险记
- 推荐9个适合Python开发的IDE。
- Matlab中属性 get 方法的使用
- Ansible(未完待续)
- symfony ajax,Symfony2 AJAX登录
热门文章
- 电脑桌面悬浮窗记事本_安卓悬浮窗便签记事本怎么添加?求安卓手机悬浮窗便签...
- 【PCI】ARM架构——PCI总线驱动、RC驱动、Host Bridge驱动、xilinx xdma ip驱动(八)
- 再谈韦伯/费希纳定律以及我对数学公式的理解
- 还在用chatGPT聊天?《元宇宙2086》已开始用AIGC做漫画连载了!
- 【HEC-RAS水动力】HEC-RAS 1D基本原理(恒定流及非恒定流)
- python 字典处理_python中的字典及其操作
- 基于Python的结构力学位移法编程求解
- 写代码应该用什么字体?
- 从局域网监控到广域网实时监控的实现
- 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯