hashdist / hashstack

Collection of software profiles for HashDist
https://hashdist.github.io/
51 stars 60 forks source link

PETSc links to system SuiteSparse libraries #601

Open johannesring opened 9 years ago

johannesring commented 9 years ago

test.petsc.yaml contains the following:

extends:
- file: debian.yaml

packages:
  launcher:
  python:
    link: shared
  mpi:
    use: openmpi
  blas:
    use: lapack
  lapack:
    use: lapack
  petsc:
    build_with: |
       parmetis, scotch, suitesparse
    download: |
      hypre, mumps, scalapack, blacs
    coptflags: -O2
    link: shared
    debug: false

Then, when I run hit build -v test.petsc.yaml, I see this:

[petsc] SuiteSparse:
[petsc]   Includes: -I/home/johannr/.hashdist/bld/suitesparse/hudaaariibpa/include/suitesparse
[petsc]   Library:  -Wl,-rpath,/home/johannr/.hashdist/bld/suitesparse/hudaaariibpa/lib -L/home/johannr/.hashdist/bld/suitesparse/hudaaariibpa/lib -lumfpack -lklu -lcholmod -lbtf -lccolamd -lcolamd -lcamd -lamd -lsuitesparseconfig

After the build finishes I see that libpetsc.so is linked to the system SuiteSparse libraries:

$ ldd test.petsc/lib/libpetsc.so | grep -iE "(umfpack|klu|cholmod|btf|ccolamd|colamd|camd|amd|suitesparseconfig)"
    libumfpack.so.5.6.2 => /usr/lib/x86_64-linux-gnu/libumfpack.so.5.6.2 (0x00007fd82ba2b000)
    libklu.so.1.2.1 => /usr/lib/x86_64-linux-gnu/libklu.so.1.2.1 (0x00007fd82b7fc000)
    libcholmod.so.2.1.2 => /usr/lib/x86_64-linux-gnu/libcholmod.so.2.1.2 (0x00007fd82b527000)
    libbtf.so.1.2.0 => /usr/lib/x86_64-linux-gnu/libbtf.so.1.2.0 (0x00007fd82b324000)
    libccolamd.so.2.8.0 => /usr/lib/x86_64-linux-gnu/libccolamd.so.2.8.0 (0x00007fd82b11a000)
    libcolamd.so.2.8.0 => /usr/lib/x86_64-linux-gnu/libcolamd.so.2.8.0 (0x00007fd82af12000)
    libcamd.so.2.3.1 => /usr/lib/x86_64-linux-gnu/libcamd.so.2.3.1 (0x00007fd82ad08000)
    libamd.so.2.3.1 => /usr/lib/x86_64-linux-gnu/libamd.so.2.3.1 (0x00007fd82aaff000)

Is this a bug in PETSc?

ahmadia commented 9 years ago

It could be. Are you still experiencing this?