Installation on CentOS 7: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
Today is 7/29/2018 - These are notes on how to install instructions for flooxs on 64-bit CentOS 7. These instructions are intended for linux/unix beginners. | Today is 7/29/2018 - These are notes on how to install instructions for flooxs on 64-bit CentOS 7. These instructions are intended for linux/unix beginners. There is an install script available that contains the content of the whole tutorial: [[CentOS_install.sh]] | ||
= Get Your Flooxs! = | = Get Your Flooxs! = |
Revision as of 16:10, 29 July 2019
Today is 7/29/2018 - These are notes on how to install instructions for flooxs on 64-bit CentOS 7. These instructions are intended for linux/unix beginners. There is an install script available that contains the content of the whole tutorial: CentOS_install.sh
Get Your Flooxs!
From Download
1. Download the software and put it on your hard drive in a directory called flooxs
$ mkdir ~/flooxs - go to [1], download the latest linux executable file (get the one that says linux)
2. Unpack the flooxs file This should make a directory called rel2008. Move the executable to the folder you create it:
$ cp /mnt/c/Users/[Windows Username]/[File Location] [Location you want Flooxs in Bash]
From Git
Clone the Git repository. You need to have git permissions from Mark Law
git clone https://github.com/marklaw59/flooxs.git
If you do not have git, install it with the following command:
yum -y install git
Edit FLOOXS Library Paths in your Arch File
You should have no issues with libraries if you use the centos arch file provided to you (centos). However, if you do have issues with libraries then you must locate the directories of the libraries and put the paths into the $FLXSHOME/arch/Linux file.
Compile Flooxs
Install Public Domain Libraries used in the compilation
3. Open the terminal. FLOOXS requires installing the EPEL for optimal performance. Run the following command to install the new repository:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Now update and install the proper packages. You have the choice between openblas-threads64 and openblas-serial. The threaded version should be faster on your system. Run the following commands:
sudo yum -y update && sudo yum -y upgrade sudo yum -y install tk-devel tcl-devel suitesparse openblas-threads64
Set the required environment variable
4. Open your ~/.bashrc or create a FLOOXS environment variable script. Add or make sure the following lines are in the file:
export FLXSHOME=/home/[Your Flooxs Folder Location]
5. If you choose a environment variable script, make sure to source the file before using FLOOXS.
Build Plplot
The version of plplot on centos is too low for FLOOXS. Because of this we will download and build plplot. To do this we need to download and install cmake first.
wget https://github.com/Kitware/CMake/releases/download/v3.15.1/cmake-3.15.1-Linux-x86_64.sh chmod +x cmake-3.15.1-Linux-x86_64.sh ./cmake-3.15.1-Linux-x86_64.sh rm cmake-3.15.1-Linux-x86_64.sh
Now that we have the latest version of cmake, lets build plplot.
cd $FLXSHOME wget https://sourceforge.net/projects/plplot/files/plplot/5.15.0%20Source/plplot-5.15.0.tar.gz tar xvf plplot-5.15.0.tar.gz
Now enter the plplot directory and build the source:
cd plplot-5.15.0 mkdir build_dir cd build_dir mkdir install cmake -DCMAKE_INSTALL_PREFIX=./install .. make make install
Now add the plplot environment variable to your FLOOXS startup script or ~/.bashrc
export PL_LIBRARY=/usr/share/plplot5.13.0/tcl/
Compile
If you get warnings, probably this is okay. Errors will never be okay. In general, you should resolve any errors in the "make depend" before trying to make. When you get an error, scroll up to see what directory you were in, check and see what file the error is in, and what line number it is giving you. Most likely if you get errors you simply did not set your paths correctly in your arch file.
$ cd $FLXSHOME/src $ make new ARCH=Linux
Do a CVS update if you want
If you are one of Dr. Law's students and you have a login to our computers, you can do a CVS update to get the latest version of the flooxs code.
First, get cvs (concurrent versioning system) for your Ubuntu:
$ sudo apt-get install cvs $ setcvsuname.sh [Your Login]
When you're done with that, then you can do the CVS update:
$ cd $FLXSHOME/src $ cvs update -log in with your passwd
If you do a cvs update, there may be some conflicts with the new version that the cvs program was not intelligent enough to know how to merge. This is normal. As the intelligent user, you must resolve these conflicts. But how, you ask? Files with conflicts will have conflict markers in them. Conflict markers look like:
<<<<<<< filename your lines ======= other person's lines >>>>>> current version"
In this case, you want the other person's line, as this is Dr. Law's new version, and not your old version. Of course, you can always make a backup first. For example, I used this method to find the conflicts, then fixed them by hand:
$ find $FLXSHOME -name "<<<<<" -print $ cd $FLXSHOME/src $ cp Makefile Makefile_bk $ gedit Makefile & $ cd math $ gedit Makefile & $ gedit blas.h & # conflict here too
Common Issues
1) The plotting utility is not working. Here you may need to add "export DISPLAY=localhost:0" to your ~/.bashrc
2) Some file names have case issues. Generally fixed with:
mv LevelSet/LayerGRid.cc LevelSet/LayerGrid.cc mv diffuse/newton.cc diffuse/Newton.cc
3) Some files might need a string.h include. The most common file where this is necessary is src/BasePDE/ErrInfo.h
#include <string.h> //to the top of src/BasePDE/ErrInfo.h
4) Makefile.linux.depend doesn't exist. Execute the following:
touch Makefile.linux.depend find . -type d -exec touch Makefile.linux.depend \;
5) For older versions of flooxs, $(MASTER_INCLUDE) is not present in all makefiles.