← Back to team overview

dolfin team mailing list archive

[Bug 630516] [NEW] Python module does not link to correct DOLFIN lib

 

Public bug reported:

I'm having problems getting dorsal to make a working dolfin on Ubuntu 10.4
There seems to be some kind of linking problem.

dorsal.cfg looks like this:

# Meta-project to build
PROJECT=FEniCS
# Where do you want the downloaded source files to go?
DOWNLOAD_PATH=/opt/fenics/src
# Where do you want the compiled software installed?
INSTALL_PATH=/opt/fenics
# How many processes would you like to build using?
PROCS=1
# Would you like to build stable versions of FEniCS projects?
STABLE_BUILD=false

After building, and running "source /opt/fenics/share/dolfin/dolfin.conf"
 python will not import dolfin, with errors like:

ImportError: /opt/fenics/lib/python2.6/site-packages/dolfin/_cpp.so:
undefined symbol:
_ZNK6dolfin10Expression21compute_vertex_valuesERNS_5ArrayIdEERKNS_4MeshE

Below is the output from: ldd /opt/fenics/lib/python2.6/site-
packages/dolfin/_cpp.so

As you can see, it has linked against the system installed dolfin in /usr/lib
instead of the new dolfin in /opt/fenics.
I do have a large number of system installed packages, which may conflict with dolfin 
packages (e.g. petsc,cgal). Surely the dorsal build should use the packages it has downloaded
by preference? 

Any ideas? As far as I know, I have a completely standard install of Ubuntu Lucid, and dorsal is
downloading into a clean directory structure.

        linux-vdso.so.1 =>  (0x00007fff657ff000)
        libdolfin.so.0 => /usr/lib/libdolfin.so.0 (0x00007f988750e000)
        libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00007f988705c000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f9886d0c000)
        libarmadillo.so.0 => /usr/lib/libarmadillo.so.0 (0x00007f9886b0a000)
        libboost_filesystem.so.1.40.0 => /usr/lib/libboost_filesystem.so.1.40.0 (0x00007f98868f4000)
        libboost_program_options.so.1.40.0 => /usr/lib/libboost_program_options.so.1.40.0 (0x00007f98866a6000)
        libboost_system.so.1.40.0 => /usr/lib/libboost_system.so.1.40.0 (0x00007f98864a2000)
        libpetsc.so => /opt/fenics/src/petsc-3.1-p4/linux-gnu-cxx-opt/lib/libpetsc.so (0x00007f988586e000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f9885538000)
        libparmetis.so.3.1 => /usr/lib/libparmetis.so.3.1 (0x00007f98852f8000)
        libmetis.so.3.1 => /usr/lib/libmetis.so.3.1 (0x00007f98850ac000)
        liblapack.so.3gf => /usr/lib/liblapack.so.3gf (0x00007f98844cb000)
        libblas.so.3gf => /usr/lib/libblas.so.3gf (0x00007f9884230000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f9884010000)
        libmpi.so.0 => /usr/lib/libmpi.so.0 (0x00007f9883d60000)
        libopen-rte.so.0 => /usr/lib/libopen-rte.so.0 (0x00007f9883b14000)
        libopen-pal.so.0 => /usr/lib/libopen-pal.so.0 (0x00007f988389f000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00007f9883685000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007f9883482000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f988326a000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f988304d000)
        libmpi_f90.so.0 => /usr/lib/libmpi_f90.so.0 (0x00007f9882e49000)
        libmpi_f77.so.0 => /usr/lib/libmpi_f77.so.0 (0x00007f9882c10000)
        libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007f9882923000)
        libm.so.6 => /lib/libm.so.6 (0x00007f98826a0000)
        libmpi_cxx.so.0 => /usr/lib/libmpi_cxx.so.0 (0x00007f9882485000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f9882171000)
        libatlas.so.3gf => /usr/lib/libatlas.so.3gf (0x00007f988180d000)
        libcholmod.so.1.7.1 => /usr/lib/libcholmod.so.1.7.1 (0x00007f988150e000)
        libcamd.so.2.2.0 => /usr/lib/libcamd.so.2.2.0 (0x00007f9881303000)
        libcolamd.so.2.7.1 => /usr/lib/libcolamd.so.2.7.1 (0x00007f98810fb000)
        libccolamd.so.2.7.1 => /usr/lib/libccolamd.so.2.7.1 (0x00007f9880eee000)
        libCGAL.so.4 => /usr/lib/libCGAL.so.4 (0x00007f9880cbf000)
        libgmpxx.so.4 => /usr/lib/libgmpxx.so.4 (0x00007f9880aba000)
        libmpfr.so.1 => /usr/lib/libmpfr.so.1 (0x00007f988086a000)
        libgmp.so.3 => /usr/lib/libgmp.so.3 (0x00007f988060a000)
        libboost_thread.so.1.40.0 => /usr/lib/libboost_thread.so.1.40.0 (0x00007f98803f4000)
        libz.so.1 => /lib/libz.so.1 (0x00007f98801dc000)
        libcppunit-1.12.so.1 => /usr/lib/libcppunit-1.12.so.1 (0x00007f987ff97000)
        libc.so.6 => /lib/libc.so.6 (0x00007f987fc14000)
        libumfpack.so.5.4.0 => /usr/lib/libumfpack.so.5.4.0 (0x00007f987f953000)
        libamd.so.2.2.0 => /usr/lib/libamd.so.2.2.0 (0x00007f987f749000)
        libslepc.so.3.0.0 => /usr/lib/libslepc.so.3.0.0 (0x00007f987f4db000)
        libparpack.so.2 => /usr/lib/libparpack.so.2 (0x00007f987f28d000)
        libarpack.so.2 => /usr/lib/libarpack.so.2 (0x00007f987f039000)
        libpetscts.so.3.0.0 => /usr/lib/libpetscts.so.3.0.0 (0x00007f987ee20000)
        libpetscsnes.so.3.0.0 => /usr/lib/libpetscsnes.so.3.0.0 (0x00007f987ebe4000)
        libpetscksp.so.3.0.0 => /usr/lib/libpetscksp.so.3.0.0 (0x00007f987e807000)
        libpetscdm.so.3.0.0 => /usr/lib/libpetscdm.so.3.0.0 (0x00007f987e592000)
        libpetscmat.so.3.0.0 => /usr/lib/libpetscmat.so.3.0.0 (0x00007f987e15d000)
        libpetscvec.so.3.0.0 => /usr/lib/libpetscvec.so.3.0.0 (0x00007f987dedc000)
        libpetsc.so.3.0.0 => /usr/lib/libpetsc.so.3.0.0 (0x00007f987dc1d000)
        libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007f987d9cc000)
        libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f987d63c000)
        librt.so.1 => /lib/librt.so.1 (0x00007f987d433000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f987d217000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9887e1a000)
        libboost_thread-mt.so.1.38.0 => /usr/lib/libboost_thread-mt.so.1.38.0 (0x00007f987cfff000)
        libspooles.so.2.2 => /usr/lib/libspooles.so.2.2 (0x00007f987cc9a000)
        libHYPRE-2.4.0.so => /usr/lib/libHYPRE-2.4.0.so (0x00007f987ca98000)
        libsuperlu.so.3 => /usr/lib/libsuperlu.so.3 (0x00007f987c848000)
        libscotch-5.1.so => /usr/lib/libscotch-5.1.so (0x00007f987c5e6000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f987c3e1000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f987c1db000)
        libHYPRE_utilities-2.4.0.so => /usr/lib/libHYPRE_utilities-2.4.0.so (0x00007f987bfd0000)
        libHYPRE_multivector-2.4.0.so => /usr/lib/libHYPRE_multivector-2.4.0.so (0x00007f987bdca000)
        libHYPRE_krylov-2.4.0.so => /usr/lib/libHYPRE_krylov-2.4.0.so (0x00007f987bbb4000)
        libHYPRE_struct_mv-2.4.0.so => /usr/lib/libHYPRE_struct_mv-2.4.0.so (0x00007f987b987000)
        libHYPRE_struct_ls-2.4.0.so => /usr/lib/libHYPRE_struct_ls-2.4.0.so (0x00007f987b706000)
        libHYPRE_sstruct_mv-2.4.0.so => /usr/lib/libHYPRE_sstruct_mv-2.4.0.so (0x00007f987b4eb000)
        libHYPRE_sstruct_ls-2.4.0.so => /usr/lib/libHYPRE_sstruct_ls-2.4.0.so (0x00007f987b285000)
        libHYPRE_seq_mv-2.4.0.so => /usr/lib/libHYPRE_seq_mv-2.4.0.so (0x00007f987b07d000)
        libHYPRE_parcsr_mv-2.4.0.so => /usr/lib/libHYPRE_parcsr_mv-2.4.0.so (0x00007f987ae5c000)
        libHYPRE_parcsr_block_mv-2.4.0.so => /usr/lib/libHYPRE_parcsr_block_mv-2.4.0.so (0x00007f987ac3f000)
        libHYPRE_DistributedMatrix-2.4.0.so => /usr/lib/libHYPRE_DistributedMatrix-2.4.0.so (0x00007f987aa3b000)
        libHYPRE_MatrixMatrix-2.4.0.so => /usr/lib/libHYPRE_MatrixMatrix-2.4.0.so (0x00007f987a839000)
        libHYPRE_IJ_mv-2.4.0.so => /usr/lib/libHYPRE_IJ_mv-2.4.0.so (0x00007f987a628000)
        libHYPRE_Euclid-2.4.0.so => /usr/lib/libHYPRE_Euclid-2.4.0.so (0x00007f987a3e5000)
        libHYPRE_ParaSails-2.4.0.so => /usr/lib/libHYPRE_ParaSails-2.4.0.so (0x00007f987a1d4000)
        libHYPRE_DistributedMatrixPilutSolver-2.4.0.so => /usr/lib/libHYPRE_DistributedMatrixPilutSolver-2.4.0.so (0x00007f9879fc3000)
        libHYPRE_parcsr_ls-2.4.0.so => /usr/lib/libHYPRE_parcsr_ls-2.4.0.so (0x00007f9879d23000)
        libHYPRE_FEI_fgmres-2.4.0.so => /usr/lib/libHYPRE_FEI_fgmres-2.4.0.so (0x00007f9879b1f000)
        libHYPRE_mli-2.4.0.so => /usr/lib/libHYPRE_mli-2.4.0.so (0x00007f987988e000)
        libHYPRE_FEI-2.4.0.so => /usr/lib/libHYPRE_FEI-2.4.0.so (0x00007f98795c2000)
        libscotcherr-5.1.so => /usr/lib/libscotcherr-5.1.so (0x00007f98793bf000)

** Affects: dolfin
     Importance: Undecided
     Assignee: Johannes Ring (johannr)
         Status: Confirmed

** Project changed: dorsal => dolfin

** Changed in: dolfin
       Status: New => Confirmed

** Changed in: dolfin
     Assignee: (unassigned) => Johannes Ring (johannr)

-- 
Python module does not link to correct DOLFIN lib
https://bugs.launchpad.net/bugs/630516
You received this bug notification because you are a member of DOLFIN
Team, which is subscribed to DOLFIN.

Status in DOLFIN: Confirmed

Bug description:
I'm having problems getting dorsal to make a working dolfin on Ubuntu 10.4
There seems to be some kind of linking problem.

dorsal.cfg looks like this:

# Meta-project to build
PROJECT=FEniCS
# Where do you want the downloaded source files to go?
DOWNLOAD_PATH=/opt/fenics/src
# Where do you want the compiled software installed?
INSTALL_PATH=/opt/fenics
# How many processes would you like to build using?
PROCS=1
# Would you like to build stable versions of FEniCS projects?
STABLE_BUILD=false

After building, and running "source /opt/fenics/share/dolfin/dolfin.conf"
 python will not import dolfin, with errors like:

ImportError: /opt/fenics/lib/python2.6/site-packages/dolfin/_cpp.so: undefined symbol: _ZNK6dolfin10Expression21compute_vertex_valuesERNS_5ArrayIdEERKNS_4MeshE

Below is the output from: ldd /opt/fenics/lib/python2.6/site-packages/dolfin/_cpp.so 

As you can see, it has linked against the system installed dolfin in /usr/lib
instead of the new dolfin in /opt/fenics.
I do have a large number of system installed packages, which may conflict with dolfin 
packages (e.g. petsc,cgal). Surely the dorsal build should use the packages it has downloaded
by preference? 

Any ideas? As far as I know, I have a completely standard install of Ubuntu Lucid, and dorsal is
downloading into a clean directory structure.

        linux-vdso.so.1 =>  (0x00007fff657ff000)
        libdolfin.so.0 => /usr/lib/libdolfin.so.0 (0x00007f988750e000)
        libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00007f988705c000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f9886d0c000)
        libarmadillo.so.0 => /usr/lib/libarmadillo.so.0 (0x00007f9886b0a000)
        libboost_filesystem.so.1.40.0 => /usr/lib/libboost_filesystem.so.1.40.0 (0x00007f98868f4000)
        libboost_program_options.so.1.40.0 => /usr/lib/libboost_program_options.so.1.40.0 (0x00007f98866a6000)
        libboost_system.so.1.40.0 => /usr/lib/libboost_system.so.1.40.0 (0x00007f98864a2000)
        libpetsc.so => /opt/fenics/src/petsc-3.1-p4/linux-gnu-cxx-opt/lib/libpetsc.so (0x00007f988586e000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f9885538000)
        libparmetis.so.3.1 => /usr/lib/libparmetis.so.3.1 (0x00007f98852f8000)
        libmetis.so.3.1 => /usr/lib/libmetis.so.3.1 (0x00007f98850ac000)
        liblapack.so.3gf => /usr/lib/liblapack.so.3gf (0x00007f98844cb000)
        libblas.so.3gf => /usr/lib/libblas.so.3gf (0x00007f9884230000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f9884010000)
        libmpi.so.0 => /usr/lib/libmpi.so.0 (0x00007f9883d60000)
        libopen-rte.so.0 => /usr/lib/libopen-rte.so.0 (0x00007f9883b14000)
        libopen-pal.so.0 => /usr/lib/libopen-pal.so.0 (0x00007f988389f000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00007f9883685000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007f9883482000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f988326a000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f988304d000)
        libmpi_f90.so.0 => /usr/lib/libmpi_f90.so.0 (0x00007f9882e49000)
        libmpi_f77.so.0 => /usr/lib/libmpi_f77.so.0 (0x00007f9882c10000)
        libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007f9882923000)
        libm.so.6 => /lib/libm.so.6 (0x00007f98826a0000)
        libmpi_cxx.so.0 => /usr/lib/libmpi_cxx.so.0 (0x00007f9882485000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f9882171000)
        libatlas.so.3gf => /usr/lib/libatlas.so.3gf (0x00007f988180d000)
        libcholmod.so.1.7.1 => /usr/lib/libcholmod.so.1.7.1 (0x00007f988150e000)
        libcamd.so.2.2.0 => /usr/lib/libcamd.so.2.2.0 (0x00007f9881303000)
        libcolamd.so.2.7.1 => /usr/lib/libcolamd.so.2.7.1 (0x00007f98810fb000)
        libccolamd.so.2.7.1 => /usr/lib/libccolamd.so.2.7.1 (0x00007f9880eee000)
        libCGAL.so.4 => /usr/lib/libCGAL.so.4 (0x00007f9880cbf000)
        libgmpxx.so.4 => /usr/lib/libgmpxx.so.4 (0x00007f9880aba000)
        libmpfr.so.1 => /usr/lib/libmpfr.so.1 (0x00007f988086a000)
        libgmp.so.3 => /usr/lib/libgmp.so.3 (0x00007f988060a000)
        libboost_thread.so.1.40.0 => /usr/lib/libboost_thread.so.1.40.0 (0x00007f98803f4000)
        libz.so.1 => /lib/libz.so.1 (0x00007f98801dc000)
        libcppunit-1.12.so.1 => /usr/lib/libcppunit-1.12.so.1 (0x00007f987ff97000)
        libc.so.6 => /lib/libc.so.6 (0x00007f987fc14000)
        libumfpack.so.5.4.0 => /usr/lib/libumfpack.so.5.4.0 (0x00007f987f953000)
        libamd.so.2.2.0 => /usr/lib/libamd.so.2.2.0 (0x00007f987f749000)
        libslepc.so.3.0.0 => /usr/lib/libslepc.so.3.0.0 (0x00007f987f4db000)
        libparpack.so.2 => /usr/lib/libparpack.so.2 (0x00007f987f28d000)
        libarpack.so.2 => /usr/lib/libarpack.so.2 (0x00007f987f039000)
        libpetscts.so.3.0.0 => /usr/lib/libpetscts.so.3.0.0 (0x00007f987ee20000)
        libpetscsnes.so.3.0.0 => /usr/lib/libpetscsnes.so.3.0.0 (0x00007f987ebe4000)
        libpetscksp.so.3.0.0 => /usr/lib/libpetscksp.so.3.0.0 (0x00007f987e807000)
        libpetscdm.so.3.0.0 => /usr/lib/libpetscdm.so.3.0.0 (0x00007f987e592000)
        libpetscmat.so.3.0.0 => /usr/lib/libpetscmat.so.3.0.0 (0x00007f987e15d000)
        libpetscvec.so.3.0.0 => /usr/lib/libpetscvec.so.3.0.0 (0x00007f987dedc000)
        libpetsc.so.3.0.0 => /usr/lib/libpetsc.so.3.0.0 (0x00007f987dc1d000)
        libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007f987d9cc000)
        libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007f987d63c000)
        librt.so.1 => /lib/librt.so.1 (0x00007f987d433000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f987d217000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9887e1a000)
        libboost_thread-mt.so.1.38.0 => /usr/lib/libboost_thread-mt.so.1.38.0 (0x00007f987cfff000)
        libspooles.so.2.2 => /usr/lib/libspooles.so.2.2 (0x00007f987cc9a000)
        libHYPRE-2.4.0.so => /usr/lib/libHYPRE-2.4.0.so (0x00007f987ca98000)
        libsuperlu.so.3 => /usr/lib/libsuperlu.so.3 (0x00007f987c848000)
        libscotch-5.1.so => /usr/lib/libscotch-5.1.so (0x00007f987c5e6000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f987c3e1000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f987c1db000)
        libHYPRE_utilities-2.4.0.so => /usr/lib/libHYPRE_utilities-2.4.0.so (0x00007f987bfd0000)
        libHYPRE_multivector-2.4.0.so => /usr/lib/libHYPRE_multivector-2.4.0.so (0x00007f987bdca000)
        libHYPRE_krylov-2.4.0.so => /usr/lib/libHYPRE_krylov-2.4.0.so (0x00007f987bbb4000)
        libHYPRE_struct_mv-2.4.0.so => /usr/lib/libHYPRE_struct_mv-2.4.0.so (0x00007f987b987000)
        libHYPRE_struct_ls-2.4.0.so => /usr/lib/libHYPRE_struct_ls-2.4.0.so (0x00007f987b706000)
        libHYPRE_sstruct_mv-2.4.0.so => /usr/lib/libHYPRE_sstruct_mv-2.4.0.so (0x00007f987b4eb000)
        libHYPRE_sstruct_ls-2.4.0.so => /usr/lib/libHYPRE_sstruct_ls-2.4.0.so (0x00007f987b285000)
        libHYPRE_seq_mv-2.4.0.so => /usr/lib/libHYPRE_seq_mv-2.4.0.so (0x00007f987b07d000)
        libHYPRE_parcsr_mv-2.4.0.so => /usr/lib/libHYPRE_parcsr_mv-2.4.0.so (0x00007f987ae5c000)
        libHYPRE_parcsr_block_mv-2.4.0.so => /usr/lib/libHYPRE_parcsr_block_mv-2.4.0.so (0x00007f987ac3f000)
        libHYPRE_DistributedMatrix-2.4.0.so => /usr/lib/libHYPRE_DistributedMatrix-2.4.0.so (0x00007f987aa3b000)
        libHYPRE_MatrixMatrix-2.4.0.so => /usr/lib/libHYPRE_MatrixMatrix-2.4.0.so (0x00007f987a839000)
        libHYPRE_IJ_mv-2.4.0.so => /usr/lib/libHYPRE_IJ_mv-2.4.0.so (0x00007f987a628000)
        libHYPRE_Euclid-2.4.0.so => /usr/lib/libHYPRE_Euclid-2.4.0.so (0x00007f987a3e5000)
        libHYPRE_ParaSails-2.4.0.so => /usr/lib/libHYPRE_ParaSails-2.4.0.so (0x00007f987a1d4000)
        libHYPRE_DistributedMatrixPilutSolver-2.4.0.so => /usr/lib/libHYPRE_DistributedMatrixPilutSolver-2.4.0.so (0x00007f9879fc3000)
        libHYPRE_parcsr_ls-2.4.0.so => /usr/lib/libHYPRE_parcsr_ls-2.4.0.so (0x00007f9879d23000)
        libHYPRE_FEI_fgmres-2.4.0.so => /usr/lib/libHYPRE_FEI_fgmres-2.4.0.so (0x00007f9879b1f000)
        libHYPRE_mli-2.4.0.so => /usr/lib/libHYPRE_mli-2.4.0.so (0x00007f987988e000)
        libHYPRE_FEI-2.4.0.so => /usr/lib/libHYPRE_FEI-2.4.0.so (0x00007f98795c2000)
        libscotcherr-5.1.so => /usr/lib/libscotcherr-5.1.so (0x00007f98793bf000)











Follow ups

References