[petsc-dev] Unable to access to MatSeqSBAIJGetArray_SeqSBAIJ from "outside" PETSc

Eric Chamberland Eric.Chamberland at giref.ulaval.ca
Fri Jan 6 19:21:00 CST 2017


Excellent!

Thanks a lot! :)

Eric



Le 2017-01-06 à 19:37, Barry Smith a écrit :
>    Added in master
>
>> On Jan 6, 2017, at 2:46 PM, Eric Chamberland <Eric.Chamberland at giref.ulaval.ca> 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
>>




More information about the petsc-dev mailing list