[petsc-dev] Unable to access to MatSeqSBAIJGetArray_SeqSBAIJ from	"outside" PETSc
    Eric Chamberland 
    Eric.Chamberland at giref.ulaval.ca
       
    Fri Jan  6 14:46:05 CST 2017
    
    
  
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
    
    
More information about the petsc-dev
mailing list