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 [2016/09/08 09:01]
Antonello Lobianco temporary page in the way from ubuntu 14.04 and ubuntu 16.04
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.//+===== Linux (Ubuntu 22.04) =====
  
-The following packages and their prerequisites should be installed: libqt5-*, qtcreator, qmake, libatlas-base-dev, libatlas-dev, gfortran, zlib1g-dev+//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  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 dependencies. Here we use `~/programs`: 
 + 
 +<code bash> 
 +cd ~ 
 +mkdir programs 
 +cd programs 
 +</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} go in their subfolder and run "./get.{Metis|Mumps}". This will download and extract them to a place that the ipopt configure will 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". + 
-  * Create a build directorymove 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 unziprename 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" + 
 +<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 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 --with-blas="-L/usr/lib/atlas-base/atlas -lblas" --with-lapack="-L/usr/lib/atlas-base/atlas -llapack" --prefix="/usr" LDFLAGS=-Wl,--no-as-needed+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 
 +sudo make install 
 +cd ../../..
 </code> </code>
  
 ==== ColPack ==== ==== ColPack ====
-  * Download ColPack >= 1.0.8 (ColPack-1.X.X.tar.gz) from http://www.cscapes.org/download/ColPack/ and unzip it.+  * Site web: [[https://github.com/CSCsw/ColPack/]] 
 +  * Needed ColPack >= 1.0.8
   * Type:<code bash>   * Type:<code bash>
-./configure prefix=/usr+git clone https://github.com/CSCsw/ColPack.git  # Download ColPack as ~/programs/ColPack 
 +cd ColPack                                       # ColPack Root Directory 
 +git checkout 10b780b52a25c6ccef3d2abc12055ee85b7e8667 # checkout a version know to works 
 +autoreconf -vif                                 
 +./configure --prefix=/usr 'CXXFLAGS=-O3' 'CFLAGS=-O3'
 make make
 sudo make install sudo make install
 +cd ..
 </code> </code>
-//Notes: if you get an error about libtool version mismatch run "autoreconf --force --install" before configure +
-(http://stackoverflow.com/questions/3096989/libtool-version-mismatch-error)//+
  
 ==== 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>
-./configure --enable-docexa --enable-addexa --enable-sparse prefix=/usr+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'
 make make
 sudo make install sudo make install
 </code> </code>
-//New 2013/11/19: On 64 bits Linux, symlink all libadoc.* libraries from /usr/lib64 to /usr/lib, e.g. ln -s ../lib64/libadolc.so.libadolc.so.1.1.1\\ + 
-Notes: If you have an error about libtool version mismatch run "autoreconf --force --install" before configure (http://stackoverflow.com/questions/3096989/libtool-version-mismatch-error https://dev.openwrt.org/ticket/10827 )//+==== Symlinks ==== 
 + 
 +  * On 64 bits Linux, symlink all libadoc.* libraries from /usr/lib64 to /usr/lib:<code bash> 
 +cd /usr/lib 
 +sudo ln -s ../lib64/libadolc.la .  
 +sudo ln -s ../lib64/libadolc.so . 
 +sudo ln -s ../lib64/libadolc.so.
 +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>
  
 ===== 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 =====
  
Line 172: 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 (".") for the Debug and release directory
 +  - 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"
 +
 +{{:en:dev:qt_configuration.png?direct&0x120|}} {{:en:dev:gdb_debugger.png?direct&0x120|}} {{:en:dev:qtcreator_gdb_option.png?direct&0x120|}}
 +
 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//).
  
en/dev/development.1473318064.txt.gz · Last modified: 2018/06/18 16:44 (external edit)