Problems with Installation on Debian Squeeze

Asked by Pratik Mallya

I'm trying to fenics (manually) on my debian squeeze system. I can't run the poisson demo located at ../dolfin/demo/pde/poisson/python

Here is the output that i get:

pratik@HyperIon:~/Install/share/dolfin/demo/pde/poisson/python$ python demo_poisson.py
Calling FFC just-in-time (JIT) compiler, this may take some time.
Traceback (most recent call last):
  File "demo_poisson.py", line 41, in <module>
    V = FunctionSpace(mesh, "Lagrange", 1)
  File "/home/pratik/Install/lib/python2.6/dist-packages/dolfin/functions/functionspace.py", line 353, in __init__
    FunctionSpaceBase.__init__(self, mesh, element)
  File "/home/pratik/Install/lib/python2.6/dist-packages/dolfin/functions/functionspace.py", line 77, in __init__
    ufc_element, ufc_dofmap = jit(self._ufl_element)
  File "/home/pratik/Install/lib/python2.6/dist-packages/dolfin/compilemodules/jit.py", line 66, in mpi_jit
    return local_jit(*args, **kwargs)
  File "/home/pratik/Install/lib/python2.6/dist-packages/dolfin/compilemodules/jit.py", line 154, in jit
    return jit_compile(form, parameters=p, common_cell=common_cell)
  File "/home/pratik/Install/lib/python2.6/ffc/jitcompiler.py", line 71, in jit
    return jit_element(ufl_object, parameters)
  File "/home/pratik/Install/lib/python2.6/ffc/jitcompiler.py", line 178, in jit_element
    compiled_form, module, form_data, prefix = jit_form(form, parameters)
  File "/home/pratik/Install/lib/python2.6/ffc/jitcompiler.py", line 130, in jit_form
    common_cell=common_cell)
  File "/home/pratik/Install/lib/python2.6/ffc/compiler.py", line 155, in compile_form
    ir = compute_ir(analysis, parameters, common_cell)
  File "/home/pratik/Install/lib/python2.6/ffc/representation.py", line 73, in compute_ir
    for (i, e) in enumerate(elements)]
  File "/home/pratik/Install/lib/python2.6/ffc/representation.py", line 99, in _compute_element_ir
    element = create_element(ufl_element)
  File "/home/pratik/Install/lib/python2.6/ffc/fiatinterface.py", line 68, in create_element
    element = _create_fiat_element(ufl_element)
  File "/home/pratik/Install/lib/python2.6/ffc/fiatinterface.py", line 121, in _create_fiat_element
    if not family in FIAT.supported_elements:
AttributeError: 'module' object has no attribute 'supported_elements'

Also, I tried to run the C++ version as well; However i get the following:

pratik@HyperIon:~/Install/share/dolfin/demo/pde/poisson/cpp$ cmake . && make && ./demo_poisson
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pratik/Install/share/dolfin/demo/pde/poisson/cpp
[100%] Built target demo_poisson
Solving linear variational problem.
terminate called after throwing an instance of 'std::runtime_error'
  what():

*** -------------------------------------------------------------------------
*** DOLFIN encountered an error. If you are not able to resolve this issue
*** using the information listed below, you can ask for help at
***
*** https://answers.launchpad.net/dolfin
***
*** Remember to include the error message listed below and, if possible,
*** include a *minimal* running example to reproduce the error.
***
*** -------------------------------------------------------------------------
*** Error: Unable to factorize matrix with UMFPACK LU solver (symbolic).
*** Reason: UMFPACK has not been installed.
*** Where: This error was encountered inside UmfpackLUSolver.cpp.
*** -------------------------------------------------------------------------

Aborted

This seems strange as I have installed umfpack (relevant debian packages: libsuitesparse-dev and libumfpack). Even the configuration of dolfin confirms that umfpack is installed:

pratik@HyperIon:~/Source/Numerical/Fenics/dolfin/dolfin-1.0.0$ cmake .
-- UFC version: 2.0.5
-- Checking for package 'Armadillo'
-- Checking for package 'AMD'
-- Checking for package 'BLAS'
-- Checking for package 'UMFPACK'
-- Checking for package 'AMD'
-- Checking for package 'BLAS'
-- Checking for package 'CHOLMOD'
-- Checking for package 'AMD'
-- Checking for package 'BLAS'
-- ParMETIS could not be found/configured. (missing: PARMETIS_LIBRARIES PARMETIS_TEST_RUNS PARMETIS_INCLUDE_DIRS)
-- Checking for package 'LAPACK'
-- Checking for package 'CHOLMOD'
-- Checking for package 'AMD'
-- Checking for package 'BLAS'
-- ParMETIS could not be found/configured. (missing: PARMETIS_LIBRARIES PARMETIS_TEST_RUNS PARMETIS_INCLUDE_DIRS)
-- Checking for package 'LAPACK'
-- Checking for package 'CGAL'
-- Checking for package 'CPPUNIT'
-- CPPUNIT could not be found. Be sure to set CPPUNIT_DIR. (missing: CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS)
-- Checking for package 'Sphinx'
-- Could NOT find Sphinx (missing: SPHINX_VERSION_OK)
--
-- The following optional packages were found:
-- -------------------------------------------
-- (OK) UMFPACK
-- (OK) CHOLMOD
-- (OK) CGAL
-- (OK) ZLIB
-- (OK) PYTHON
--
-- The following optional packages were not enabled:
-- -------------------------------------------------
-- (--) OPENMP
-- (--) MPI
-- (--) PETSC
-- (--) SLEPC
-- (--) TRILINOS
-- (--) MTL4
-- (--) SCOTCH
-- (--) PARMETIS
-- (--) SPHINX
--
CMake Warning at CMakeLists.txt:584 (message):
  Disabling generation of documentation because Sphinx is missing.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/pratik/Source/Numerical/Fenics/dolfin/dolfin-1.0.0

What am I missing? Any help would be appreciated.

Question information

Language:
English Edit question
Status:
Solved
For:
DOLFIN Edit question
Assignee:
No assignee Edit question
Solved by:
Johannes Ring
Solved:
Last query:
Last reply:
Revision history for this message
Best Johannes Ring (johannr) said :
#1

>  File "/home/pratik/Install/lib/python2.6/ffc/fiatinterface.py", line 121, in _create_fiat_element
>    if not family in FIAT.supported_elements:
> AttributeError: 'module' object has no attribute 'supported_elements'

This indicates that you have an old version of FIAT installed. You
should upgrade to FIAT 1.0.0.

> *** -------------------------------------------------------------------------
> *** Error:  Unable to factorize matrix with UMFPACK LU solver (symbolic).
> *** Reason: UMFPACK has not been installed.
> *** Where:  This error was encountered inside UmfpackLUSolver.cpp.
> *** -------------------------------------------------------------------------
>
> Aborted
>
> This seems strange as I have installed umfpack (relevant debian packages:
> libsuitesparse-dev and libumfpack). Even the configuration of dolfin confirms
> that umfpack is installed:

I don't know but maybe when you build the demo, cmake picks up a wrong
dolfin-config.cmake from an old installation of DOLFIN that doesn't
have UMFPACK?

> What am I missing? Any help would be appreciated.

I would recommend to use Dorsal to build FEniCS. This is tested and
works well on Debian squeeze. You can get the latest Dorsal by running
"bzr branch lp:dorsal".

Revision history for this message
Pratik Mallya (pratik-mallya-ml) said :
#2

Thanks Johannes Ring, that solved my question.

Revision history for this message
Pratik Mallya (pratik-mallya-ml) said :
#3

On Monday 05 March 2012 04:41 AM, Johannes Ring wrote:
> Your question #189691 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/189691
>
> Status: Open => Answered
>
> Johannes Ring proposed the following answer:
>> File "/home/pratik/Install/lib/python2.6/ffc/fiatinterface.py", line 121, in _create_fiat_element
>> if not family in FIAT.supported_elements:
>> AttributeError: 'module' object has no attribute 'supported_elements'
>
> This indicates that you have an old version of FIAT installed. You
> should upgrade to FIAT 1.0.0.
Thanks! This was exactly the problem; I had accidentally installed the
repository package for FIAT, which was an older version.

>
>> *** -------------------------------------------------------------------------
>> *** Error: Unable to factorize matrix with UMFPACK LU solver (symbolic).
>> *** Reason: UMFPACK has not been installed.
>> *** Where: This error was encountered inside UmfpackLUSolver.cpp.
>> *** -------------------------------------------------------------------------
>>
>> Aborted
>>
>> This seems strange as I have installed umfpack (relevant debian packages:
>> libsuitesparse-dev and libumfpack). Even the configuration of dolfin confirms
>> that umfpack is installed:
>
> I don't know but maybe when you build the demo, cmake picks up a wrong
> dolfin-config.cmake from an old installation of DOLFIN that doesn't
> have UMFPACK?
>
>> What am I missing? Any help would be appreciated.
>
> I would recommend to use Dorsal to build FEniCS. This is tested and
> works well on Debian squeeze. You can get the latest Dorsal by running
> "bzr branch lp:dorsal".
>
Well, I installed the arpack libraries, and the C++ code worked. But the
python code did not...on further probing, it turns out that the
destination of libumfpack that I had manually entered via ccmake was
incorrect and ld wasn't able to locate it. So I let cmake find out the
umfpack library itself (the headers/ libraries seem to be included in
libsuiteparse-dev and not libumfpack, and earlier I had installed the
latter only) and rebuilt dolfin. Now, everything seems to be working fine.