[petsc-users] problem linking to petsc
apersaud at lbl.gov
Fri Aug 5 14:55:28 CDT 2022
I'm trying to compile a plasma simulation package (in fortran + mpi)
that uses PETSC and HYPRE.
I'm running on linux (opensuse tumbleweed) and using the distribution
provided compilers and openmpi4 packages.
I git cloned petsc and then compiled with the following commands
make PETSC_DIR=/home/arun/src/petsc PETSC_ARCH=arch-linux-c-debug all
make PETSC_DIR=/home/arun/src/petsc PETSC_ARCH=arch-linux-c-debug install
And this worked without errors, but when I try to use the petsc library
to compile and link the simulation package, I'm getting:
pic2d_CurProblemValues.f90:(.text+0x11e5d): undefined reference to
collect2: error: ld returned 1 exit status
make: *** [Makefile:50: edipic2d] Error 1
pic2d_CurProblemValues.f90 seems to have the same code included that is
given in the howto on how to use PETSC.
also, if I check the shared library, I get the following:
arun at apersaud:~/src/petsc> nm arch-linux-c-debug/lib/libpetsc.so |grep
00000000003531e6 t PetscInitFortran_Private
000000000032e9ac T PetscInitialize
0000000002bc82e8 B PetscInitializeCalled
000000000032c22d t PetscInitialize_Common
0000000000354ac3 T petscinitialized_
0000000000327d71 T PetscInitialized
00000000001213e5 t PetscInitialize_DynamicLibraries
000000000035389d T petscinitializef_
0000000000353e38 T petscinitializefortran_
0000000000353cd2 T PetscInitializeFortran
00000000003279a8 T PetscInitializeNoArguments
0000000000327138 T PetscInitializeNoPointers
00000000000fd2ce T __petscsys_MOD_petscinitializenoarguments
00000000000fd313 T __petscsys_MOD_petscinitializenohelp
00000000000fd3e9 T __petscsys_MOD_petscinitializewithhelp
which seems to indicate that the initialize function "petscinitialize_"
Is there a compiler flag I need to set to or a configure flag when
Not sure where things are going wrong here and how to debug this.
Any suggestions would be appreciated.
More information about the petsc-users