Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • PaStiX PaStiX
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 5
    • Issues 5
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • solverstack
  • PaStiXPaStiX
  • Issues
  • #54
Closed
Open
Issue created May 19, 2021 by DURUFLE Marc@durufle

Problem when building Pastix with cmake (release 6.2) : undefined references during the compilation of example_mdof2.c.o

Hi, I tried to install the release 6.2.0 of Pastix. I executed the following cmake command : cmake . -DPASTIX_INT64=OFF -DPASTIX_WITH_MPI=ON -DCMAKE_INSTALL_PREFIX=/home/durufle/Solve/pastix/build

The command succeeded and then I compiled with : make install

The installation stops at 78% with the following errors :

[ 78%] Building C object spm/examples/CMakeFiles/example_mdof2.dir/example_mdof2.c.o
[ 78%] Linking C executable example_mdof2
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmSort':
/home/durufle/Solve/pastix/spm/src/spm.c:549: undefined reference to `z_spmSort'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmMergeDuplicate':
/home/durufle/Solve/pastix/spm/src/spm.c:603: undefined reference to `z_spmMergeDuplicate'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmMatMat':
/home/durufle/Solve/pastix/spm/src/spm.c:1131: undefined reference to `spm_zspmm'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spm2Dense':
/home/durufle/Solve/pastix/spm/src/spm.c:434: undefined reference to `z_spm2dense'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmNorm':
/home/durufle/Solve/pastix/spm/src/spm.c:503: undefined reference to `z_spmNorm'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmPrint':
/home/durufle/Solve/pastix/spm/src/spm.c:919: undefined reference to `z_spmPrint'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmExpand':
/home/durufle/Solve/pastix/spm/src/spm.c:961: undefined reference to `z_spmExpand'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmMatVec':
/home/durufle/Solve/pastix/spm/src/spm.c:1035: undefined reference to `spm_zspmv'
/usr/bin/ld: ../src/libspm.a(spm.c.o): in function `spmScalMatrix':
/home/durufle/Solve/pastix/spm/src/spm.c:1261: undefined reference to `z_spmScal'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x18): undefined reference to `z_spmGenMat'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x38): undefined reference to `z_spmCheckAxb'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x98): undefined reference to `z_spmConvertCSC2CSR'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0xc8): undefined reference to `z_spmConvertCSC2IJV'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0xf8): undefined reference to `z_spmConvertCSR2CSC'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x158): undefined reference to `z_spmConvertCSR2IJV'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x188): undefined reference to `z_spmConvertIJV2CSC'
/usr/bin/ld: ../src/libspm.a(spm.c.o):(.data.rel.ro+0x1b8): undefined reference to `z_spmConvertIJV2CSR'

I tried by cloning the git repository (instead of release 6.2.0), but I obtained the same error.However, I tried to compile my own code with the following line :

mpicxx -I. -DSELDON_WITH_PASTIX -DSELDON_WITH_MPI test/program/direct_test.cpp -I/home/durufle/Solve/pastix-6.2.0/include -L/home/durufle/Solve/pastix-6.2.0 -lpastix -L/home/durufle/Solve/pastix-6.2.0/spm/src -lspm -L/home/durufle/Solve/pastix-6.2.0/kernels -lpastix_kernels -L/home/durufle/Solve/scotch_6.0.4 -lscotch -lscotcherr -I/home/durufle/Solve/pastix-6.2.0/spm/include -lhwloc -llapacke -lblas -lrt -lpthread

I obtained other undefined references that I do not reproduce here. In the documentation I did not find how to compile pastix as a library (do we need to link with -lspm or -lpastix_kernels ?). I encountered a page with the compilation command, but I did not succeed in finding that page again.

Edited May 20, 2021 by Mathieu Faverge
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking