Compilation of FEniCS and dependencies with dorsal

Asked by Martin Vymazal

Dear FEniCS developers,

 looking at the dorsal script, I have several questions about installing FEniCS (preferably dev version) from sources. First, the script says that the following packages should be installed:

swig numpy scientificpython boost openmpi bzr cmake cgal vtk parmetis scotch flex

Are they all mandatory? (For example, if I have scotch, do I also need parmetis?)

Suppose I compile all those packages from source and put them in a folder ~/fenics-deps so that I have the following structure:

~/fenics-deps/openmpi/bin
~/fenics-deps/openmpi/lib
~/fenics-deps/openmpi/share
...
~/fenics-deps/boost/include
~/fenics-deps/boost/lib

etc., how do I tell dorsal where to look for dependencies? Is it sufficient to set $PATH and $LD_LIBRARY_PATH? For example, I already have trilinos installed as a dependency for another project. This installation of trilinos doesn't have pytrilinos, therefore I'd like dorsal to avoid looking here.

Finally, is python 3 supported or do I have to use python 2?

Thank you very much for your answers.

  Best regards,

     Martin Vymazal

Question information

Language:
English Edit question
Status:
Solved
For:
Dorsal Edit question
Assignee:
No assignee Edit question
Solved by:
Garth Wells
Solved:
Last query:
Last reply:
Revision history for this message
Best Garth Wells (garth-wells) said :
#1

Not all the packages are required. Once you have the bare minimum for DOLFIN (cmake), you can run cmake to configure the build. It will print and error message for any required dependencies, and at the end of the configuration it will print a summary of the optional packages that have and haven't been configured. Neither SCOTCH nor ParMETIS are required, but you will need one of them to compute in parallel.

To configure, I would suggest installing the packages in ~foo/local. That way you just need to set LD_LIBRARY_PATH once. You install them all in separate directories, but you'll have to add the path to LD_LIBRARY_PATH for each one.

We do not yet support Python 3. I looked at this, and it was reasonably straightforward except for the package Scientific Python, which has not been updated to Python 3. FIAT depends on Scientific Python, and unfortunately Scientific Python does not look very active.

Revision history for this message
Martin Vymazal (martin-vymazal-gmail) said :
#2

Hello Garth,

 thank you very much for your reply.

 Best regards,

   Martin Vymazal

Revision history for this message
Martin Vymazal (martin-vymazal-gmail) said :
#3

Thanks Garth Wells, that solved my question.