[petsc-dev] Undefined symbol in SLEPc dylib (Haskell bindings, OSX)

Marco Zocca zocca.marco at gmail.com
Thu Jun 9 03:44:38 CDT 2016


I encounter this bug when accessing the PETSc and SLEPc dynamic
library under OSX:

user specified .o/.so/.DLL could not be loaded
(dlopen($SLEPC_DIR/arch-darwin-c-debug/lib/libslepc.dylib, 5): Symbol
not found: _KSPConvergedReasons
  Referenced from: $SLEPC_DIR/arch-darwin-c-debug/lib/libslepc.dylib
  Expected in: flat namespace
 in $SLEPC_DIR/arch-darwin-c-debug/lib/libslepc.dylib)

Surely, enough, `nm -u` shows _KSPConvergedReasons as an undefined
symbol (see below).
I don't understand the reason of this behaviour since I first compile
with all the relevant PETSc and SLEPc headers and link against both
.dylibs.

Thank you in advance for any pointers,
Marco

-------
$ nm -u libslepc.3.7.1.dylib | grep KSP

_KSPAppendOptionsPrefix
_KSPConvergedReasons
_KSPCreate
_KSPDestroy
_KSPGetConvergedReason
_KSPGetIterationNumber
_KSPGetOperators
_KSPGetOperatorsSet
_KSPGetPC
_KSPGetPCSide
_KSPGetTolerances
_KSPGetType
_KSPReset
_KSPSetErrorIfNotConverged
_KSPSetFromOptions
_KSPSetOperators
_KSPSetOptionsPrefix
_KSPSetPC
_KSPSetReusePreconditioner
_KSPSetTolerances
_KSPSetType
_KSPSetUp
_KSPSolve
_KSPSolveTranspose
_KSPView
_KSP_CLASSID



More information about the petsc-dev mailing list