Installation on CentOS 7: Difference between revisions

From Flooxs
Jump to navigation Jump to search
 
(14 intermediate revisions by the same user not shown)
Line 2: Line 2:


= Install from Script =
= Install from Script =
There is an install script available that contains the content of the whole tutorial. You will be prompted for you git username and password. WARNING: The script automatically installs packages and the EPEL repository for Centos 7, if you do not want the packages or the repository do not install with the script. Copy the contents of [[CentOS_install.sh]] to a file with the same name and run this script in a terminal using:
There is an install script available that contains the content of the whole tutorial. You will be prompted for you git username and password. WARNING: The script automatically installs packages and the EPEL repository for Centos 7, if you do not want tthis repository do not install with the script. The script installs FLOOXS to your directory or to where the path variable $FLXSHOME is set. Copy the contents of [[CentOS_install.sh]] to a file with the same name and run this script in a terminal using:
        chmod +x CentOS_install.sh
         sudo source ./CentOS_install.sh
         sudo ./CentOS_install.sh
== Using FLOOXS ==
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]
        export PL_LIBRARY=$FLXSHOME/plplot/share/plplot5.13.0/tcl/
 
To use flooxs from anywhere in the shell, you can also create an alias for flooxs in your ~/.bashrc or FLOOXS environment script using the following command:
        alias flooxs='$FLXSHOME/src/flooxs.new'


Or better yet, you can download and alias rlwrap to enhance your flooxs experience using the following commands:
Continue on to section [http://www.flooxs.ece.ufl.edu/index.php/Installation_on_CentOS_7#Running_FLOOXS Running FLOOXS]
        yum install rlwrap
        alias flooxs='rlwrap -n $FLXSHOME/src/flooxs.new'


= Install One Step at a Time =
= Install One Step at a Time =
Choose if you are going to download flooxs from the tec servers or from the git repository.
Choose if you want to supervise the flooxs build step by step.  First you have to get FLOOXS source code.  Follow download or git based on your code source.
== Download ==
== Download ==
1. Download the software and put it on your hard drive in a directory called flooxs
1. Download the software and put it on your hard drive in a directory called flooxs
Line 35: Line 25:
         sudo yum -y install git
         sudo yum -y install git


= Edit FLOOXS Library Paths in your Arch File =
= Build Flooxs =
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 ==
== 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:
3. Open the terminal.  FLOOXS requires installing the EPEL for optimal performance. Run the following command to install the new repository:
Line 52: Line 39:


== Build Plplot ==
== 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.
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 since the centos cmake version it too low for plplot.
         wget https://github.com/Kitware/CMake/releases/download/v3.15.1/cmake-3.15.1-Linux-x86_64.sh
         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
         tar xf cmake-3.15.1-Linux-x86_64.tar.gz
        ./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.
Now that we have the latest version of cmake, lets build plplot.
         cd $FLXSHOME
         cd $FLXSHOME
         wget https://sourceforge.net/projects/plplot/files/plplot/5.15.0%20Source/plplot-5.15.0.tar.gz
         wget https://sourceforge.net/projects/plplot/files/plplot/5.13.0%20Source/plplot-5.13.0.tar.gz
         tar xvf plplot-5.15.0.tar.gz
         tar xf plplot-5.13.0.tar.gz
Now enter the plplot directory and build the source:
Now enter the plplot directory and build the source:
         cd plplot-5.15.0
         cd plplot-5.13.0
         mkdir build_dir
         mkdir build_dir
         cd build_dir
         cd build_dir
Line 71: Line 56:
Now add the plplot environment variable to your FLOOXS startup script or ~/.bashrc
Now add the plplot environment variable to your FLOOXS startup script or ~/.bashrc
         export PL_LIBRARY=$FLXSHOME/plplot/share/plplot5.13.0/tcl/
         export PL_LIBRARY=$FLXSHOME/plplot/share/plplot5.13.0/tcl/
Cleanup the files we do not need now
        cd $FLXSHOME
        rm -r cmake-3.15.1-Linux-x86_64.tar.gz plplot-5.13.0.tar.gz plplot-5.13.0


== Compile ==
== 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.
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
         $ cd $FLXSHOME/src
         $ make new ARCH=Linux
         $ make new ARCH=centos
== Compile Triangle ==


= Do a CVS update if you want =
Download triangle from [https://www.cs.cmu.edu/~quake/triangle.html] and follow the build instructions.  Once triangle is built, move the program into the $FLXSHOME/src directory.
If you are one of Dr. Law's students and you have a login to our computers, you can do a [http://en.wikipedia.org/wiki/Concurrent_Versions_System CVS update] to get the latest version of the flooxs code.


First, get cvs (concurrent versioning system) for your Ubuntu:
= Running FLOOXS =
         $ sudo apt-get install cvs
Open your ~/.bashrc or create a FLOOXS environment variable script. Add or make sure the following lines are in the file:
         $ [[setcvsuname.sh]] [Your Login]
         export FLXSHOME=/home/[Your Flooxs Folder Location]
        export PL_LIBRARY=$FLXSHOME/plplot/share/plplot5.13.0/tcl/
 
To use flooxs from anywhere in the shell, you can also create an alias for flooxs in your ~/.bashrc or FLOOXS environment script using the following command:
         alias flooxs='$FLXSHOME/src/flooxs.new'


When you're done with that, then you can do the CVS update:
Or better yet, you can download and alias rlwrap to enhance your flooxs experience using the following commands:
         $ cd $FLXSHOME/src
         yum install rlwrap
        $ cvs update
        alias flooxs='rlwrap -n $FLXSHOME/src/flooxs.new'
        -log in with your passwd


If you do a cvs update, there may be some [http://www.google.com/search?hl=en&client=firefox-a&hs=s8f&rls=com.ubuntu%3Aen-US%3Aofficial&q=resolve+cvs+conflict&aq=f&aqi=g-l1&aql=&oq=&gs_rfai= 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:
Now you are ready to work through the FLOOXS [http://www.flooxs.ece.ufl.edu/index.php/Manual#Examples_and_Tutorials Examples and Tutorials]!
                <<<<<<< 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 =
= Common Issues =


'''1)''' The plotting utility is not working. Here you may need to add "export DISPLAY=localhost:0" to your ~/.bashrc
'''1)''' The plotting utility is not working. Here you may need to add "export DISPLAY=localhost:0" to your ~/.bashrc

Latest revision as of 20:25, 7 April 2020

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.

Install from Script

There is an install script available that contains the content of the whole tutorial. You will be prompted for you git username and password. WARNING: The script automatically installs packages and the EPEL repository for Centos 7, if you do not want tthis repository do not install with the script. The script installs FLOOXS to your directory or to where the path variable $FLXSHOME is set. Copy the contents of CentOS_install.sh to a file with the same name and run this script in a terminal using:

       sudo source ./CentOS_install.sh

Continue on to section Running FLOOXS

Install One Step at a Time

Choose if you want to supervise the flooxs build step by step. First you have to get FLOOXS source code. Follow download or git based on your code source.

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]

Git

1. Clone the Git repository. You need to have git permissions from Mark Law

       git clone https://github.com/marklaw59/flooxs.git

1a. If you do not have git, install it with the following command:

       sudo yum -y install git

Build 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:

       sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Now update and install the proper packages. Run the following commands:

       sudo yum -y update && sudo yum -y upgrade
       sudo yum -y install tk-devel tcl-devel suitesparse openblas-devel

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 since the centos cmake version it too low for plplot.

       wget https://github.com/Kitware/CMake/releases/download/v3.15.1/cmake-3.15.1-Linux-x86_64.sh
       tar xf cmake-3.15.1-Linux-x86_64.tar.gz

Now that we have the latest version of cmake, lets build plplot.

       cd $FLXSHOME
       wget https://sourceforge.net/projects/plplot/files/plplot/5.13.0%20Source/plplot-5.13.0.tar.gz
       tar xf plplot-5.13.0.tar.gz

Now enter the plplot directory and build the source:

       cd plplot-5.13.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=$FLXSHOME/plplot/share/plplot5.13.0/tcl/

Cleanup the files we do not need now

       cd $FLXSHOME
       rm -r cmake-3.15.1-Linux-x86_64.tar.gz plplot-5.13.0.tar.gz plplot-5.13.0

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=centos

Compile Triangle

Download triangle from [2] and follow the build instructions. Once triangle is built, move the program into the $FLXSHOME/src directory.

Running FLOOXS

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]
       export PL_LIBRARY=$FLXSHOME/plplot/share/plplot5.13.0/tcl/

To use flooxs from anywhere in the shell, you can also create an alias for flooxs in your ~/.bashrc or FLOOXS environment script using the following command:

       alias flooxs='$FLXSHOME/src/flooxs.new'

Or better yet, you can download and alias rlwrap to enhance your flooxs experience using the following commands:

       yum install rlwrap
       alias flooxs='rlwrap -n $FLXSHOME/src/flooxs.new'

Now you are ready to work through the FLOOXS Examples and Tutorials!

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.