reassign 782029 libsuitesparse-metis-dev retitle 782029 build multiarch installation of suitesparse-metis severity 782029 serious thanks
On Mon, 06 Apr 2015 10:57:40 -0700 Jan Medlock <medlock-debian@turbosho wer.net> wrote: > > Removing '/x86_64-linux-gnu' from the paths to the libsuitesparse > libraries in /usr/lib/dolfin/cmake/DOLFINTargets-relwithdebinfo.cmake > makes the Expression compile. > Thanks for the bug report, Jan. I'm trying to keep petsc and dolfin up-to-date. Reading through your bug report, it looks like the bug you're experiencing here needs to be resolved in libsuitesparse-metis-dev The background is that Debian now provides multiarch support. That means library binaries for multiple cpu architectures can be hosted on the one system. It makes cross-architecture compilation simpler, as well as running 32bit programs on 64bit systems. Under the old layout, library files would be placed in /usr/lib, e.g. /usr/lib/libumfpack.so. In the new multiarch layout, they should be placed in /usr/lib/<arch>/usr/lib/<arch>, e.g. /usr/lib/x86_64-linux-gnu/libumfpack.so.5.6.2 What's happened here is that libsuitesparse-dev has been updated to the new multiarch layout, and petsc is build against that multiarch installation of suitesparse. libsuitesparse-metis-dev has not been updated for a long time, so it still places files in the old /usr/lib directory. It needs to be updated for multiarch, to place the files in /usr/lib/<arch>. It's not hard to do, but because parmetis is not DFSG-free (it's in the non-free section), libraries using it (in the contrib section) don't get as much attention. You've found one workaround, hacking the dolfin library list in /usr/share/dolfin/cmake/DOLFINTargets-relwithdebinfo.cmake Another clumsy temporary workaround is to create links in the multiarch directory with something like for l in `dpkg -L libsuitesparse-metis-dev | grep -E "/usr/lib/lib.*.so|/usr/lib/lib.*.a"`; do echo ln -s $l /usr/lib/`dpkg-architecture -qDEB_TARGET_MULTIARCH`/`basename $l`; done (with libsuitesparse-dev uninstalled) Drew