I have been trying to use PETSc for some MPI enhanced matrix operations, but I keep getting this error when I submit the job using slurm on a supercomputer:
ERROR: ERROR: LoadError: LoadError: could not load library
"/home/20ph92r03/petsc/arch-linux-c-debug/lib/libpetsc.so"
liblapack.so.3: cannot open shared object file: No such file or directorycould not
load library "/home/20ph92r03/petsc/arch-linux-c-debug/lib/libpetsc.so"
liblapack.so.3: cannot open shared object file: No such file or directory
And this is my jobscript
#!/bin/bash
#SBATCH -J slepcTest
#SBATCH -p standard-low
#SBATCH --output=slepcTest-out
#SBATCH -n 2
#SBATCH -t 1:00:00
module load compiler/intel-mpi/mpi-2020-v4
export LD_LIBRARY_PATH=/home/21ph92r03/julia-1.8.0/lib/julia:$LD_LIBRARY_PATH
time mpiexec -n 2 /home/20ph92r03/julia-1.8.0/bin/julia mpiSlepc.jl
I have followed the earlier threads related to the same error and modified the LD_LIBRARY_PATH environment variable in the .bashrc file, like this:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:'/home/20ph92r03/petsc/arch-linux-c-
debug/lib/:/usr/lib64/'
But the error persists. I don't know what else to try!
Thanks!
ldd /home/20ph92r03/petsc/arch-linux-c-debug/lib/libpetsc.so | grep lapackon your head node to confirm the location of the lapack library, then runls -l /xxx/liblapack.so.3in your script to check the availability on the compute nodes.liblapack.so.3 => /usr/lib64/liblapack.so.3 (0x00002b54d7de5000). And then I submit my job script withls -l /usr/lib64/liblapack.so.3to getls: cannot access /usr/lib64/liblapack.so.3: No such file or directory. I guess then it's not installed on the compute nodes. So the next question is how to make sure it's installed on the compute nodes? Thanks!libblas.so.?) in a shared directory and haveLD_LIBRARY_PATHpoint to it.