> On Jul 8, 2019, at 10:37 PM, Jed Brown <[email protected]> wrote: > > "Smith, Barry F. via petsc-dev" <[email protected]> writes: > >>> On Jul 8, 2019, at 9:53 PM, Jakub Kruzik via petsc-dev >>> <[email protected]> wrote: >>> >>> Just to clarify, the suggested solution is a plug-in sitting anywhere in >>> the PETSc source tree with postponed compilation and using >>> __attribute__((constructor)) to register (as in libCEED) for static >>> libraries? >> >> Yes, this is my understanding. Good luck. > > There is some nontrivial infrastructure that would be needed for this > model. > > 1. This new component needs to be built into a new library such as > libpetsc-plugin.a (when static). > > 2. Users need to know when they should link this module. They'll need a > link line something like -lpetsc-plugin -lslepc -lpetsc in this case. > It would need to be specified correctly in makefiles and pkg-config. > > 3. Anything with __attribute__((constructor)) runs *before* main, thus > before PetscInitialize. There would need to be a new mechanism to > register a callback to be run at the end of PetscInitialize. Are you saying we need something like PetscPlugInRegister(PetscErrorCode (*)(void)) that can be called before PetscInitialize() by plugin libraries that registers the function that PetscInitialize() than calls? This is doable, just needs to use malloc() directly and cannot use PETSc's FList constructs.
Re: [petsc-dev] circular dependencies SLEPc
Smith, Barry F. via petsc-dev Mon, 08 Jul 2019 20:44:27 -0700
- Re: [petsc-dev] circular dependencies S... Jed Brown via petsc-dev
- Re: [petsc-dev] circular dependencies S... Smith, Barry F. via petsc-dev
- Re: [petsc-dev] circular dependencies S... Jed Brown via petsc-dev
- Re: [petsc-dev] circular dependencies S... Jed Brown via petsc-dev
- Re: [petsc-dev] circular dependencies S... Matthew Knepley via petsc-dev
- Re: [petsc-dev] circular dependencies S... Pierre Jolivet via petsc-dev
- Re: [petsc-dev] circular dependencies S... Smith, Barry F. via petsc-dev
- Re: [petsc-dev] circular dependencies S... Jakub Kruzik via petsc-dev
- Re: [petsc-dev] circular dependencies S... Smith, Barry F. via petsc-dev
- Re: [petsc-dev] circular dependencies S... Jed Brown via petsc-dev
- Re: [petsc-dev] circular dependencies S... Smith, Barry F. via petsc-dev
- Re: [petsc-dev] circular dependencies S... Jed Brown via petsc-dev
- Re: [petsc-dev] circular dependencies S... Jed Brown via petsc-dev
- Re: [petsc-dev] circular dependencies SLEPc Smith, Barry F. via petsc-dev
- Re: [petsc-dev] circular dependencies S... Jed Brown via petsc-dev
- Re: [petsc-dev] circular dependencies S... Smith, Barry F. via petsc-dev
- Re: [petsc-dev] circular dependencies S... Jed Brown via petsc-dev
