The recommended approach is to use --with-prefix=directory where you want PETSc installed instead of copying files manually after configure and make
I don't see why —with-thread-safety would affect this but > On Sep 21, 2023, at 5:07 PM, Di Miao via petsc-users > <petsc-users@mcs.anl.gov> wrote: > > 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 <http://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