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 revisionPrevious revision
Next revision
Previous revision
en:dev:development [2024/04/30 07:01] – [Linux (Ubuntu 22.04)] Antonello Lobiancoen:dev:development [2026/09/09 08:42] (current) – [Getting the source code] Antonello Lobianco
Line 16: Line 16:
 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 build-essential gfortran gcc g++ gcc-12  +sudo apt-get install build-essential gfortran gcc g++ 
-sudo apt-get install libtool git patch wget pkg-config +sudo apt-get install libtool libtool-bin 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 zlib1g-dev libboost-all-dev  libblas-dev liblapack-dev liblapack64-dev libmetis-dev
 sudo apt-get install qtbase5-dev qtbase5-dev-tools qtchooser qt5-qmake qtcreator sudo apt-get install qtbase5-dev qtbase5-dev-tools qtchooser qt5-qmake qtcreator
 </code> </code>
  
 (not all are likely to be necessary, we just tried successfully this combination) (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|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 FFSM. Itself it uses several libraries. The procedure describe below installs all the "third parties" IPOPT 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.20.tar.gz 
 +tar -xzf 3.14.20.tar.gz 
 + 
 +cd ~/programs/Ipopt 
 +git clone https://github.com/coin-or-tools/ThirdParty-ASL.git 
 +cd ThirdParty-ASL 
 +./get.ASL 
 +./configure --prefix="/usr" 'CXXFLAGS=-O3' 'CFLAGS=-O3' 
 +make 
 +sudo make install 
 +cd .. 
 +git clone https://github.com/coin-or-tools/ThirdParty-HSL 
 +cd ThirdParty-HSL 
 +mkdir coinhsl 
 +wget https://nc.beta-lorraine.fr/s/w5M9ESpFWafK5H7/download -O coinhsl/coinhsl.zip 
 +unzip coinhsl/coinhsl.zip 
 +./configure --prefix="/usr" 'CXXFLAGS=-O3' 'CFLAGS=-O3' 
 +make 
 +sudo make install 
 +cd ../Ipopt-releases-3.14.20/ 
 +mkdir build 
 +cd build 
 +../configure --prefix="/usr" 'CXXFLAGS=-O3' 'CFLAGS=-O3'
 make make
 sudo make install sudo make install
 +cd ../../..
 </code> </code>
  
Line 38: Line 73:
   * Needed ColPack >= 1.0.8   * Needed ColPack >= 1.0.8
   * Type:<code bash>   * Type:<code bash>
-sudo apt-get install libtool +git clone https://github.com/CSCsw/ColPack.git  # Download ColPack as ~/programs/ColPack 
-git clone https://github.com/CSCsw/ColPack.git  # Download ColPack +cd ColPack/build/automake/ 
-cd ColPack                                       # ColPack Root Directory +autoreconf -vif 
-git checkout 10b780b52a25c6ccef3d2abc12055ee85b7e8667 # checkout a version know to works +mkdir mybuilds 
-autoreconf -vif                                 +cd mybuilds 
-./configure --prefix=/usr 'CXXFLAGS=-O3' 'CFLAGS=-O3' +../configure --prefix=/usr 'CXXFLAGS=-O3' 'CFLAGS=-O3' 
-make+make -j 8
 sudo make install sudo make install
 +cd ../../../..
 </code> </code>
 +
  
  
 ==== 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 'CXXFLAGS=-O3' 'CFLAGS=-O3'+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 --with-boost=no --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>
Line 63: Line 106:
 sudo ln -s ../lib64/libadolc.so . sudo ln -s ../lib64/libadolc.so .
 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.2.0 .
 </code> </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>
 +
 +==== Libtool ====
 +(may not be necessary)
 +
 +  * ''libtool --finish /usr/local/lib''
 +  * ''libtool --finish /usr/lib''
  
 ===== Windows (XP or 7) ===== ===== Windows (XP or 7) =====
Line 191: Line 244:
   * [[en:download|Download FFSM++]]   * [[en:download|Download FFSM++]]
   * Type:<code bash>   * Type:<code bash>
-git clone https://github.com/LEFNancy/ffsm_pp.git+git@github.com:LEFNancy/ffsm_pp.git
 </code> </code>
-//Note: Git repository is currently set private untill we remove from it input data for which we do not have the copyright and hence we can't publicily release.//+//Note: Git repository is set private because it contains some data for wich we do not have the copyright and hence we can't publicily release. 
 +You need to have updated your public key to github in order for the command above to work 
 +//
  
 ====== Developing FFSM ====== ====== Developing FFSM ======
en/dev/development.1714460519.txt.gz · Last modified: (external edit)