French Forest Sector Model (FFSM++)

Laboratoire d'Economie Forestière - LEF - Nancy, France

User Tools

Site Tools


en:dev:development

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:dev:development [2018/05/16 15:03]
Antonello Lobianco [Developing FFSM]
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, in both Windows or Linux environment. For the former, third party libraries (IPOPT, Adol-C, ColPack) are already available within the FFSM source code repository, so the instruction for their installation refers only to the case that a new version of them is released and the user want to upgrade to it.\\ This section contains detailed instructions on how to get and install the IDE and all the necessary prerequisites, in both Windows or Linux environment. For the former, third party libraries (IPOPT, Adol-C, ColPack) are already available within the FFSM source code repository, so the instruction for their installation refers only to the case that a new version of them is released and the user want to upgrade to it.\\
  
-===== Linux (Ubuntu 16.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).
  
-//See older revisions of this page for older Ubuntu systems and for tips to solving some errors no longer occurring in Ubuntu 16.10.//+===== 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: The following packages and their prerequisites should be installed:
 <code bash> <code bash>
-sudo apt-get install qt5-default qt5-qmake qtcreator libatlas-base-dev libatlas-dev gfortran zlib1g-dev libboost-all-dev +sudo apt-get install build-essential gfortran gcc g++ gcc-12  
-# Optional, for the qtcreator helper: +sudo apt-get install libtool git patch wget pkg-config 
-sudo apt-get install libgstreamer0.10-0 libgstreamer0.10-dev libgstreamer-plugins-base0.10-0+sudo apt-get install zlib1g-dev libboost-all-dev  libblas-dev liblapack-dev liblapack64-dev libmetis-dev libatlas-base-dev 
 +sudo apt-get install qtbase5-dev qtbase5-dev-tools qtchooser qt5-qmake qtcreator 
 +</code> 
 + 
 +(not all are likely to be necessary, we just tried successfully this combination) 
 + 
 +Create a folder for installing the various FFSM dependenciesHere we use `~/programs`: 
 + 
 +<code bash> 
 +cd ~ 
 +mkdir programs 
 +cd programs
 </code> </code>
  
 ==== Ipopt ==== ==== Ipopt ====
-  * Downolad Ipopt (Ipopt-3.XX.X.tgz) from http://www.coin-or.org/download/source/Ipopt/ and extract it to somewhere where there is no spaces in the path. + 
-  * In the extracted directory move to ThirdParty and for {Metis|Mumps|ASL} go in their subfolder and run "./get.{Metis|Mumps|ASL}". This will download and extract them to a place that the ipopt configure will automatically find them+Ipopt is the solver engine used by FFSMItself it uses several libraries. The procedure describe below installs all the "third partiesIPOPT libraries and finally IPOPT itself
-  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/ipopt/ and download "Coin-HSL Full (Stable)", "Source". Wait for the email with the link and then unzip, rename and move the archive as to be ThirdParty/HSL/coinhsl  + 
-  * 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/ipopt/ and download "Coin-HSL Full (Stable)", "Source". Wait for the email with the link and then unzip, rename and move the archive as to be `~/programs/Ipopt/ThirdParty/HSL/coinhsl`  
-../configure --with-blas="-L/usr/lib/atlas-base/atlas -lblas" --with-lapack="-L/usr/lib/atlas-base/atlas -llapack" --prefix="/usr" 'CXXFLAGS=-O3' 'CFLAGS=-O3'+ 
 +<code bash> 
 +mkdir Ipopt 
 +cd Ipopt 
 +wget https://github.com/coin-or/Ipopt/archive/refs/tags/releases/3.14.16.tar.gz 
 +tar -xzf 3.14.16.tar.gz 
 + 
 +cd ~/programs/Ipopt 
 +git clone https://github.com/coin-or-tools/ThirdParty-ASL.git 
 +cd ThirdParty-ASL 
 +./get.ASL 
 +./configure 
 +make 
 +sudo make install 
 +cd .. 
 +git clone https://github.com/coin-or-tools/ThirdParty-HSL 
 +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 
 +../configure --prefix="/usr" 'CXXFLAGS=-O3' 'CFLAGS=-O3'
 make make
 sudo make install sudo make install
 +cd ../../..
 </code> </code>
  
Line 33: Line 71:
   * Needed ColPack >= 1.0.8   * Needed ColPack >= 1.0.8
   * Type:<code bash>   * Type:<code bash>
-git clone https://github.com/CSCsw/ColPack.git  # Download ColPack+git clone https://github.com/CSCsw/ColPack.git  # Download ColPack as ~/programs/ColPack
 cd ColPack                                       # ColPack Root Directory cd ColPack                                       # ColPack Root Directory
 +git checkout 10b780b52a25c6ccef3d2abc12055ee85b7e8667 # checkout a version know to works
 autoreconf -vif                                 autoreconf -vif                                
 ./configure --prefix=/usr 'CXXFLAGS=-O3' 'CFLAGS=-O3' ./configure --prefix=/usr 'CXXFLAGS=-O3' 'CFLAGS=-O3'
 make make
 sudo make install sudo make install
 +cd ..
 </code> </code>
-//Notes: The web site cscapes seems to no longer exists. {{:en:dev:colpack-1.0.9.tar.gz|Here is a copy of the last available ColPack library, the 1.0.9}}. // 
- 
  
  
 ==== ADOL-C ==== ==== ADOL-C ====
  
-  * Download ADOL-C (ADOL-C-2.X.X.tgz) from http://www.coin-or.org/download/source/ADOL-C/ 
   * Type:<code bash>   * Type:<code bash>
 +mkdir ADOL-C
 +cd ADOL-C
 +wget https://www.coin-or.org/download/source/ADOL-C/ADOL-C-2.7.2.zip
 +unzip ADOL-C-2.7.2.zip
 +cd ADOL-C-2.7.2/
 ./configure --enable-docexa --enable-addexa --enable-sparse --prefix=/usr 'CXXFLAGS=-O3' 'CFLAGS=-O3' ./configure --enable-docexa --enable-addexa --enable-sparse --prefix=/usr 'CXXFLAGS=-O3' 'CFLAGS=-O3'
 make make
 sudo make install sudo make install
 </code> </code>
 +
 +==== Symlinks ====
 +
   * On 64 bits Linux, symlink all libadoc.* libraries from /usr/lib64 to /usr/lib:<code bash>   * On 64 bits Linux, symlink all libadoc.* libraries from /usr/lib64 to /usr/lib:<code bash>
 cd /usr/lib cd /usr/lib
Line 58: Line 103:
 sudo ln -s ../lib64/libadolc.so.2 . sudo ln -s ../lib64/libadolc.so.2 .
 sudo ln -s ../lib64/libadolc.so.2.1.0 . 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/include
 +sudo ln -s coin-or coin
 </code> </code>
  
 ===== Windows (XP or 7) ===== ===== Windows (XP or 7) =====
  
 +New Sept 2018 (work in progress)
 +
 +Download:
 +  - qt installer from https://qt.io
 +    - 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://gitforwindows.org
 +  - Tortoise Git from https://tortoisegit.org
 ===== MinGW ===== ===== MinGW =====
  
en/dev/development.1526475786.txt.gz · Last modified: 2018/06/18 16:44 (external edit)