Closed Lagrang3 closed 5 years ago
It looks like the symbols are missing even though you have scalapack installed. Could you find libscalapack.so
on your machine and run nm -D libscalapack.so | grep syevr
to check?
edit: fix the shell command
Here's one
$ for i in $(find /usr/lib -name 'libscalapack*') ; do nm --print-file-name -D $i 2>/dev/null | grep pdsyev ; done
/usr/lib/libscalapack-openmpi.so.1.8.0:0000000000347090 T pdsyev_
/usr/lib/libscalapack-openmpi.so.1.8.0:0000000000348d00 T pdsyevd_
/usr/lib/libscalapack-openmpi.so.1.8.0:0000000000349790 T pdsyevx_
/usr/lib/libscalapack-pvm.so:0000000000347010 T pdsyev_
/usr/lib/libscalapack-pvm.so:0000000000348c80 T pdsyevd_
/usr/lib/libscalapack-pvm.so:0000000000349710 T pdsyevx_
/usr/lib/libscalapack-openmpi.so:0000000000347090 T pdsyev_
/usr/lib/libscalapack-openmpi.so:0000000000348d00 T pdsyevd_
/usr/lib/libscalapack-openmpi.so:0000000000349790 T pdsyevx_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000347010 T pdsyev_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000348c80 T pdsyevd_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000349710 T pdsyevx_
/usr/lib/libscalapack-pvm.so.1:0000000000347010 T pdsyev_
/usr/lib/libscalapack-pvm.so.1:0000000000348c80 T pdsyevd_
/usr/lib/libscalapack-pvm.so.1:0000000000349710 T pdsyevx_
/usr/lib/libscalapack-openmpi.so.1:0000000000347090 T pdsyev_
/usr/lib/libscalapack-openmpi.so.1:0000000000348d00 T pdsyevd_
/usr/lib/libscalapack-openmpi.so.1:0000000000349790 T pdsyevx_
here the other
$ for i in $(find /usr/lib -name 'libscalapack*') ; do nm --print-file-name -D $i 2>/dev/null | grep pssyev ; done
/usr/lib/libscalapack-openmpi.so.1.8.0:00000000004566b0 T pssyev_
/usr/lib/libscalapack-openmpi.so.1.8.0:00000000004587a0 T pssyevd_
/usr/lib/libscalapack-openmpi.so.1.8.0:0000000000459230 T pssyevx_
/usr/lib/libscalapack-pvm.so:0000000000456630 T pssyev_
/usr/lib/libscalapack-pvm.so:0000000000458720 T pssyevd_
/usr/lib/libscalapack-pvm.so:00000000004591b0 T pssyevx_
/usr/lib/libscalapack-openmpi.so:00000000004566b0 T pssyev_
/usr/lib/libscalapack-openmpi.so:00000000004587a0 T pssyevd_
/usr/lib/libscalapack-openmpi.so:0000000000459230 T pssyevx_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000456630 T pssyev_
/usr/lib/libscalapack-pvm.so.1.8.0:0000000000458720 T pssyevd_
/usr/lib/libscalapack-pvm.so.1.8.0:00000000004591b0 T pssyevx_
/usr/lib/libscalapack-pvm.so.1:0000000000456630 T pssyev_
/usr/lib/libscalapack-pvm.so.1:0000000000458720 T pssyevd_
/usr/lib/libscalapack-pvm.so.1:00000000004591b0 T pssyevx_
/usr/lib/libscalapack-openmpi.so.1:00000000004566b0 T pssyev_
/usr/lib/libscalapack-openmpi.so.1:00000000004587a0 T pssyevd_
/usr/lib/libscalapack-openmpi.so.1:0000000000459230 T pssyevx_
no pdsyevr_
or pssyevr_
around. But shouldn't they be documented?
If I man pdsyev
or man pdsyevx
I get their respective man pages.
Howerver, for man pdsyevd
and man pdsyevr
I get No manual entry for ...
I am surprised that your vendor's copy of scalapack doesn't include these functions; its been around since 2006 or so [1].
@davydden You are the scalapack expert :) do you know why this would be?
[1] http://www.hpcx.ac.uk/research/hpc/technical_reports/HPCxTR0608.pdf
@davydden You are the scalapack expert :) do you know why this would be?
No idea why would that be the case.
I think we should add a config check for those symbols and disable parts that use them. IIRC someone on forum had a similar issue recently.
I solved the problem by installing Blas, Lapack and Scalapack from source, and then linking Dealii to those libraries.
It sounds like the problem is with your original distribution: for whatever reason it does not include these functions.
I think that we should add a check for these symbols and error out if they are not available.
@Lagrang3 what Linux distribution are you using?
$ uname -a
Linux COSMOS 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
Hi,
I am trying to compile the latest Deal.II library from the git repository. But once the library is built
cmake
fails to compile some of the example codes, likestep-9
andstep-7
. The reason is a linker error of undefined reference to some symbols that I believe are to be found on Scalapack. Weird thing, sincecmake
should handle all the proper flags and so far it didn't complain about broken dependencies.Any help will provided will be most welcomed. Eduardo
PS.