Run ./configure with the additional option --with-visibility=0 We'll add a MatSeqSBAIJGetArray()
Barry > On Jan 6, 2017, at 2:46 PM, Eric Chamberland > <[email protected]> wrote: > > Hi, > > we are trying to add a "petsc" developpement into our code but we need to > call MatSeqSBAIJGetArray_SeqSBAIJ for it. > > Unlike MatSeqAIJGetArray_SeqAIJ which is accessible with either > > MatSeqAIJGetArray > > or > > ierr = > PetscUseMethod(A,"MatSeqAIJGetArray_C",(Mat,PetscScalar**),(A,array));CHKERRQ(ierr); > > there is no MatSeqSBAIJGetArray and we can't call it with > > ierr = > PetscUseMethod(A,"MatSeqSBAIJGetArray_C",(Mat,PetscScalar**),(A,array));CHKERRQ(ierr); > > since it isn't registered in MatCreate_SeqSBAIJ. > > is it normal? > > We can call MatSeqSBAIJGetArray_SeqSBAIJ directly, but the linker complains > about unresolved symbol because it is not exported global but only local in > our shared library: > > nm /opt/petsc-3.7.2_debug_matmatmult_mpi/lib/libpetsc.so |grep > MatSeqSBAIJGetArray > 00000000007f7b74 t MatSeqSBAIJGetArray_SeqSBAIJ > > Is there any (nasty) way to override the shared library global/local symbols > attribute? > > Thanks, > > Eric >
