To whom it may concern, In our build system, PETSc/SLEPc is compiled in one place and the *.so lib are then moved to another place for future use. Before we add the '-with-thread-safety' flag, this works well. Now, we would like to run PETSc on multiple threads. As suggested by the manual, we added '-with-thread-safety' flag. The udpated libpetsc.so leads to the following error message:
Unable to locate PETSc dynamic library You cannot move the dynamic libraries! My question is other than compile PETSc as a static library, is there any other solutions that can let us compile libpetsc.so in one place and distribute it to other folders without causing this error? Thank you, Di [0]PETSC ERROR: --------------------- Error Message -------------------------------------------------------------- [0]PETSC ERROR: Unable to open file [0]PETSC ERROR: Unable to locate PETSc dynamic library You cannot move the dynamic libraries! [0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting. [0]PETSC ERROR: Petsc Release Version 3.19.2, Jun 01, 2023 [0]PETSC ERROR: Unknown Name on a arch-linux-c-opt named tcadprod39.synopsys.com by tcad Wed Sep 20 02:37:04 2023 [0]PETSC ERROR: Configure options --with-mpi-dir=/SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/petsc/../tcad_mpi_mpich --with-64-bit-indices=true --with-blaslapack-dir=/SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/petsc/../mkl --with-shared-libraries --with-clean=true --with-debugging=0 --with-mkl_pardiso-dir=/SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/petsc/../mkl COPTFLAGS=-O3 CXXOPTFLAGS=-O3 FOPTFLAGS=-O3 --download-mumps=/SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/petsc/MUMPS_5.6.0.tar.gz --download-scalapack=/SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/petsc/v2.2.0.tar.gz --with-ssl-dir=/SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/petsc/../libressl --with-openmp=true --with-threadsafety=true --with-log=0 [0]PETSC ERROR: #1 PetscInitialize_DynamicLibraries() at /SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/petsc/petsc-3.19.2/src/sys/dll/reg.c:88 [0]PETSC ERROR: #2 PetscInitialize_Common() at /SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/petsc/petsc-3.19.2/src/sys/objects/pinit.c:1030 [0]PETSC ERROR: #3 PetscInitialize() at /SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/petsc/petsc-3.19.2/src/sys/objects/pinit.c:1276 [0]PETSC ERROR: #4 SlepcInitialize() at /SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/slepc/slepc-3.19.2/src/sys/slepcinit.c:264 [0]PETSC ERROR: #5 EPSCreate() at /SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/slepc/slepc-3.19.2/src/eps/interface/epsbasic.c:56 [0]PETSC ERROR: #6 EPSCreate() at /SCRATCH/tcad/ci_2_0/workspace/incremental_build_main@2/slepc/slepc-3.19.2/src/eps/interface/epsbasic.c:56 Start calculating extreme eigenvalues.. [0]PETSC ERROR: ------------------------------------------------------------------------ [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range [0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger [0]PETSC ERROR: or see https://petsc.org/release/faq/#valgrind and https://petsc.org/release/faq/ [0]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run [0]PETSC ERROR: to get more information on the crash. [0]PETSC ERROR: Run with -malloc_debug to check if memory corruption is causing the crash. application called MPI_Abort(MPI_COMM_WORLD, 59) - process 0 [unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=59 : system msg for write_line failure : Bad file descriptor