dolfin builds but doesn't work

Asked by Doug Arnold

Using dorsal-0.6.0 I built FEniCS. It seems to build without problems (under Fedora 11). However, it doesn't
work. I source the file dolfin.conf, but python fails already at "from dolfin import *":

>>> from dolfin import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packages/dolfin/__init__.py", line 13, in <module>
    import dolfin.cpp as cpp
  File "/home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packages/dolfin/cpp.py", line 28, in <module>
    _cpp = swig_import_helper()
  File "/home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packages/dolfin/cpp.py", line 24, in swig_import_helper
    _mod = imp.load_module('_cpp', fp, pathname, description)
ImportError: /home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packages/dolfin/_cpp.so: undefined symbol: _ZNK6dolfin20IntersectionOperator24all_intersected_entitiesERKNS_4MeshERSt3setIjSt4lessIjESaIjEE

Any ideas?

Question information

Language:
English Edit question
Status:
Solved
For:
Dorsal Edit question
Assignee:
No assignee Edit question
Solved by:
Doug Arnold
Solved:
Last query:
Last reply:
Revision history for this message
Harish Narayanan (hnarayanan) said :
#1

On 3/9/10 2:18 AM, <email address hidden> wrote:
> New question #103680 on Dorsal:
> https://answers.launchpad.net/dorsal/+question/103680
>
> Using dorsal-0.6.0 I built FEniCS. It seems to build without problems (under Fedora 11). However, it doesn't
> work. I source the file dolfin.conf, but python fails already at "from dolfin import *":
>
>>>> from dolfin import *
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "/home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packages/dolfin/__init__.py", line 13, in <module>
> import dolfin.cpp as cpp
> File "/home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packages/dolfin/cpp.py", line 28, in <module>
> _cpp = swig_import_helper()
> File "/home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packages/dolfin/cpp.py", line 24, in swig_import_helper
> _mod = imp.load_module('_cpp', fp, pathname, description)
> ImportError: /home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packages/dolfin/_cpp.so: undefined symbol: _ZNK6dolfin20IntersectionOperator24all_intersected_entitiesERKNS_4MeshERSt3setIjSt4lessIjESaIjEE
>
> Any ideas?

I think this might have something to do with CGAL. I will investigate.

Harish

Revision history for this message
Doug Arnold (dnarnold) said :
#2

Any more thoughts on this. I am stuck (without dolfin)!

Revision history for this message
Johannes Ring (johannr) said :
#3

Did you try to build DOLFIN without CGAL?

Revision history for this message
Andre Massing (massing) said :
#4

On Tuesday 9. March 2010 02.18.43 <email address hidden> wrote:
> New question #103680 on Dorsal:
> https://answers.launchpad.net/dorsal/+question/103680
>
> Using dorsal-0.6.0 I built FEniCS. It seems to build without problems
> (under Fedora 11). However, it doesn't
>
> work. I source the file dolfin.conf, but python fails already at "from dolfin
import *":
> >>> from dolfin import *
>
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File
> "/home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packa
> ges/dolfin/__init__.py", line 13, in <module> import dolfin.cpp as cpp
> File
> "/home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packa
> ges/dolfin/cpp.py", line 28, in <module> _cpp = swig_import_helper()
> File
> "/home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packa
> ges/dolfin/cpp.py", line 24, in swig_import_helper _mod =
> imp.load_module('_cpp', fp, pathname, description)
> ImportError:
> /home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-packag
> es/dolfin/_cpp.so: undefined symbol:
> _ZNK6dolfin20IntersectionOperator24all_intersected_entitiesERKNS_4MeshERSt
> 3setIjSt4lessIjESaIjEE
>
> Any ideas?

The only idea I came up is that you maybe have somewhere an old libdolfin.so
lying around which does not contain those symbols which has to be resolved in
_cpp.so. Could you do an (should be one line)

ldd /home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/python2.6/site-
packages/dolfin/_cpp.so

to check which libs _cpp.so are actually linked to it. The entry for
libdolfin.so.0 is important, make sure that this one is really pointing to your
recently installed libdolfin.so.

Revision history for this message
Doug Arnold (dnarnold) said :
#5

Thank you Andre! The ldd command returned

 libCGAL.so.4 => /home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/libCGAL.so.4 (0x00bf7000)
 libCGAL_Core.so.4 => /home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib/libCGAL_Core.so.4 (0x00110000)
 libslepc.so => /home/faculty/arnold/workshop/FEniCS-0.5.0/build/lib/libslepc.so (0x00722000)
 libpetscts.so => /home/faculty/arnold/workshop/FEniCS-0.5.0/build/lib/libpetscts.so (0x00a24000)

with some libraries pointing to FEniCS-0.6.0 (the version compiled with dorsal 0.6.0) and some my older version
FEniCS-0.5.0. I don't know why this is, because I had sourced dolfin.conf from 0.6.0 and my LD_LIBRARY_PATH
was set to /home/faculty/arnold/workshop/FEniCS-0.6.0/build/lib:

In any case, when I renamed the directory /home/faculty/arnold/workshop/FEniCS-0.5.0 ldd showed that
everything resolved to the new libraries, and my problem was solved.