This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:dev:development [2015/09/29 16:07] Antonello Lobianco |
en:dev:development [2024/04/30 15:00] (current) Antonello Lobianco [Ipopt] |
||
---|---|---|---|
Line 8: | Line 8: | ||
This section contains detailed instructions on how to get and install the IDE and all the necessary prerequisites, | This section contains detailed instructions on how to get and install the IDE and all the necessary prerequisites, | ||
- | ===== Linux (Ubuntu 14.04) ===== | + | :!: NOTE: It's many years we don't try the Windows procedure, so it is likely to be obsolete. We strongly suggest to use FFSM in Linux, eventually using a virtual machine or the Windows Subsystem for Linux (WSL). |
- | The following packages and their prerequisites should be installed: | + | ===== Linux (Ubuntu 22.04) ===== |
+ | |||
+ | //See older revisions of this page for older Ubuntu systems and for tips to solving some errors no longer occurring in Ubuntu 18.04 and 16.10.// | ||
+ | |||
+ | The following packages and their prerequisites should be installed: | ||
+ | <code bash> | ||
+ | sudo apt-get install build-essential gfortran gcc g++ gcc-12 | ||
+ | sudo apt-get install libtool git patch wget pkg-config | ||
+ | sudo apt-get install zlib1g-dev libboost-all-dev | ||
+ | sudo apt-get install qtbase5-dev qtbase5-dev-tools qtchooser qt5-qmake qtcreator | ||
+ | </ | ||
+ | |||
+ | (not all are likely to be necessary, we just tried successfully this combination) | ||
+ | |||
+ | Create a folder for installing the various FFSM dependencies. Here we use `~/ | ||
+ | |||
+ | <code bash> | ||
+ | cd ~ | ||
+ | mkdir programs | ||
+ | cd programs | ||
+ | </ | ||
==== Ipopt ==== | ==== Ipopt ==== | ||
- | * Downolad | + | |
- | * In the extracted directory move to ThirdParty and for {Metis|Mumps} go in their subfolder and run "./ | + | Ipopt is the solver engine used by FFSM. Itself it uses several libraries. The procedure describe below installs all the "third parties" |
- | | + | |
- | * Create a build directory, move there and from there type:<code bash> | + | For using the HSL linear solver (optional, as it requires a free academic licence, but way faster than MUMS) go to http://www.hsl.rl.ac.uk/ |
- | ../configure | + | |
+ | <code bash> | ||
+ | mkdir Ipopt | ||
+ | cd Ipopt | ||
+ | wget https:// | ||
+ | tar -xzf 3.14.16.tar.gz | ||
+ | |||
+ | cd ~/programs/Ipopt | ||
+ | git clone https:// | ||
+ | cd ThirdParty-ASL | ||
+ | ./get.ASL | ||
+ | ./configure | ||
make | make | ||
sudo make install | sudo make install | ||
- | # New 2013/11/19: on ubuntu 13.10 64bit and ipopt 3.11.6 run the configure as: | + | cd .. |
- | ../configure | + | git clone https://github.com/coin-or-tools/ |
+ | cd ThirdParty-HSL | ||
+ | [extract the HSL archive as `~/programs/Ipopt/ThirdParty/HSL/coinhsl`] | ||
+ | ./configure | ||
+ | make | ||
+ | sudo make install | ||
+ | cd ../Ipopt-releases-3.14.16/ | ||
+ | mkdir build | ||
+ | cd build | ||
+ | ../ | ||
+ | make | ||
+ | sudo make install | ||
+ | cd ../../.. | ||
</ | </ | ||
==== ColPack ==== | ==== ColPack ==== | ||
- | * Download ColPack >= 1.0.8 (ColPack-1.X.X.tar.gz) from http://www.cscapes.org/download/ | + | * Site web: [[https://github.com/CSCsw/ColPack/]] |
+ | * Needed ColPack >= 1.0.8 | ||
* Type:< | * Type:< | ||
- | ./ | + | git clone https:// |
+ | cd ColPack | ||
+ | git checkout 10b780b52a25c6ccef3d2abc12055ee85b7e8667 # checkout a version know to works | ||
+ | autoreconf -vif | ||
+ | ./ | ||
make | make | ||
sudo make install | sudo make install | ||
+ | cd .. | ||
</ | </ | ||
- | //Notes: if you get an error about libtool version mismatch run " | + | |
- | (http:// | + | |
==== ADOL-C ==== | ==== ADOL-C ==== | ||
- | * Download ADOL-C (ADOL-C-2.X.X.tgz) from http:// | ||
* Type:< | * Type:< | ||
- | ./configure --enable-docexa --enable-addexa --enable-sparse | + | mkdir ADOL-C |
+ | cd ADOL-C | ||
+ | wget https:// | ||
+ | unzip ADOL-C-2.7.2.zip | ||
+ | cd ADOL-C-2.7.2/ | ||
+ | ./configure --enable-docexa --enable-addexa --enable-sparse | ||
make | make | ||
sudo make install | sudo make install | ||
</ | </ | ||
- | //New 2013/ | + | |
- | Notes: If you have an error about libtool version mismatch run " | + | ==== Symlinks ==== |
+ | |||
+ | * On 64 bits Linux, symlink all libadoc.* libraries from /usr/lib64 to /usr/lib:<code bash> | ||
+ | cd /usr/lib | ||
+ | sudo ln -s ../ | ||
+ | sudo ln -s ../ | ||
+ | sudo ln -s ../lib64/libadolc.so.2 . | ||
+ | sudo ln -s ../lib64/libadolc.so.2.1.0 . | ||
+ | sudo ln -s ../lib64/libadolc.so.2.2.0 . | ||
+ | </code> | ||
+ | * Make a symlink in the include system directory to the new name of coin (coin-or):<code bash> | ||
+ | cd /usr/ | ||
+ | sudo ln -s coin-or coin | ||
+ | </code> | ||
===== Windows (XP or 7) ===== | ===== Windows (XP or 7) ===== | ||
+ | New Sept 2018 (work in progress) | ||
+ | |||
+ | Download: | ||
+ | - qt installer from https:// | ||
+ | - modules Qt 5.11.1 (MinGW 5.3.0 32 bits) | ||
+ | - tools: | ||
+ | - Qt Creator 4.7.0 CDB Debug Suport | ||
+ | - MinGW 5.3.0 | ||
+ | - Qt Installer Framework 3.0 | ||
+ | - Git for windows from https:// | ||
+ | - Tortoise Git from https:// | ||
===== MinGW ===== | ===== MinGW ===== | ||
Line 170: | Line 246: | ||
A guide to Qt Creator is out of this paper scope, as abundant documentation can be retrieved from either official and unofficial sources. Hence, we describe here just the very basic operations required to modify and compile the code.\\ | A guide to Qt Creator is out of this paper scope, as abundant documentation can be retrieved from either official and unofficial sources. Hence, we describe here just the very basic operations required to modify and compile the code.\\ | ||
To start the IDE click on the file ffsm.pro. The first time Qt Creator will ask the version of Qt to be used for the project, where the default choices can be accepted.\\ | To start the IDE click on the file ffsm.pro. The first time Qt Creator will ask the version of Qt to be used for the project, where the default choices can be accepted.\\ | ||
+ | A few tips (see screenshots): | ||
+ | - In the Configure project option, choose the dot (" | ||
+ | - In the build and run be sure that Qt5 is selected as default Qt and the default gdb is selected as debugger (it wasn't in a clean install on my machine) | ||
+ | - In order to watch STL containers while degugging, in the debug options uncheck the "Load system GDB pretty printers" | ||
+ | |||
+ | {{: | ||
+ | |||
The icons on the bottom of the left panel allow to perform the main actions at the project level: to compile it (//hammer icon//), debug it (//bug icon//) and run it (//play icon//). | The icons on the bottom of the left panel allow to perform the main actions at the project level: to compile it (//hammer icon//), debug it (//bug icon//) and run it (//play icon//). | ||