Okay - maybe you meant PetscSysInitializePackage() needs to get first? In this simple test I was running, I essentially called
PetscInitialize PetscDTGaussTensorQuadrature PetscFinalize and thus no one call PetscSysInitializePackage() before PetscDTGaussTensorQuadrature(). Thanks - my test works now. Cheers, Dave On 18 November 2014 22:51, Dave May <[email protected]> wrote: > Okay, thanks Matt. It now makes sense why it failed, but I don't > understand your logic. > The PetscQuadrature class is so small and doesn't depend on DM (at least > not in the definition of the structure described PetscQuadrature). Hence, > why should DMInitializePackage() have to be called at all? > I realize you how are you using PetscDT, but it should be available for > everyone - even if they don't ever create a DM. > > > Cheers, > Dave > > On 18 November 2014 22:46, Matthew Knepley <[email protected]> wrote: > >> On Tue, Nov 18, 2014 at 1:49 PM, Dave May <[email protected]> >> wrote: >> >>> Hi, >>> >>> I was trying to use some of DT functionality (in particular >>> PetscDTGaussTensorQuadrature()) in petsc 3.5.2 and I encountered this error: >>> >> >> I did not anticipate someone calling that before anything by itself. You >> need a call to >> >> DMInitializePackage() >> >> This is called by PetscQuadratureCreate(). >> >> Matt >> >> >>> >>> [0]PETSC ERROR: --------------------- Error Message >>> -------------------------------------------------------------- >>> [0]PETSC ERROR: Invalid argument >>> [0]PETSC ERROR: Invalid object classid 0 >>> This could happen if you compile with PETSC_HAVE_DYNAMIC_LIBRARIES, but >>> link with static libraries. >>> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html >>> for trouble shooting. >>> [0]PETSC ERROR: Petsc Release Version 3.5.2, Sep, 08, 2014 >>> [0]PETSC ERROR: ./dmdadg.app on a arch-darwin-c-mpi-debug-f2c named >>> nikkan.local by dmay Tue Nov 18 20:34:56 2014 >>> [0]PETSC ERROR: Configure options --download-openmpi=yes >>> --with-debugging=yes --with-fc=0 --download-f2cblaslapck=yes >>> PETSC_ARCH=arch-darwin-c-mpi-debug-f2c >>> [0]PETSC ERROR: #1 PetscClassRegLogGetClass() line 290 in >>> /Users/dmay/software/petsc-3.5.2/src/sys/logging/utils/classlog.c >>> [0]PETSC ERROR: #2 PetscLogObjCreateDefault() line 317 in >>> /Users/dmay/software/petsc-3.5.2/src/sys/logging/utils/classlog.c >>> [0]PETSC ERROR: #3 PetscQuadratureCreate() line 35 in >>> /Users/dmay/software/petsc-3.5.2/src/dm/dt/interface/dt.c >>> [0]PETSC ERROR: #4 PetscDTGaussTensorQuadrature() line 322 in >>> /Users/dmay/software/petsc-3.5.2/src/dm/dt/interface/dt.c >>> [0]PETSC ERROR: #5 DMDGSpace_ex4_quadrature() line 480 in dmdadg.c >>> [0]PETSC ERROR: #6 main() line 503 in dmdadg.c >>> [0]PETSC ERROR: ----------------End of Error Message -------send entire >>> error message to [email protected] >>> >>> -------------------------------------------------------------------------- >>> MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD >>> with errorcode 1. >>> >>> NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. >>> You may or may not see output from other processes, depending on >>> exactly when Open MPI kills them. >>> >>> -------------------------------------------------------------------------- >>> >>> Snooping around in the source tree, the only place where I can find >>> PetscHeaderCreate being passed PETSC_OBJECT_CLASSID is within >>> src/dm/dt/interface/dt.c in the function PetscQuadratureCreate(). >>> >>> Is this is a bug or is my petsc build broken?? >>> >>> I'm sure I am linking against a dynamic library (or whatever you want to >>> call a dylib on OSX) >>> >>> dmay@nikkan:~/codes/dgspace$ otool -L dmdadg.app >>> dmdadg.app: >>> * >>> /Users/dmay/software/petsc-3.5.2/arch-darwin-c-mpi-debug-f2c/lib/libpetsc.3.5.dylib >>> (compatibility version 3.5.0, current version 3.5.2)* >>> >>> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib >>> (compatibility version 1.0.0, current version 1.0.0) >>> >>> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib >>> (compatibility version 1.0.0, current version 1.0.0) >>> /opt/X11/lib/libX11.6.dylib (compatibility version 10.0.0, current >>> version 10.0.0) >>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current >>> version 1197.1.1) >>> /usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current >>> version 50.0.0) >>> /usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current >>> version 50.0.0) >>> >>> /Users/dmay/software/petsc-3.5.2/arch-darwin-c-mpi-debug-f2c/lib/libmpi_cxx.1.dylib >>> (compatibility version 3.0.0, current version 3.3.0) >>> /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current >>> version 120.0.0) >>> >>> /Users/dmay/software/petsc-3.5.2/arch-darwin-c-mpi-debug-f2c/lib/libmpi.1.dylib >>> (compatibility version 7.0.0, current version 7.0.0) >>> >>> >>> >>> Cheers, >>> Dave >>> >> >> >> >> -- >> What most experimenters take for granted before they begin their >> experiments is infinitely more interesting than any results to which their >> experiments lead. >> -- Norbert Wiener >> > >
