Thanks!!! :)

Eric


On 06/01/17 04:14 PM, Barry Smith wrote:

   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

Reply via email to