[Trilinos-Users] [EXTERNAL] Not able to load shared library, undefined symbol in Trilinos

David Hysom hysom1 at llnl.gov
Wed Jun 25 17:36:12 MDT 2014


Chaomei,

Just on a hunch, could you try moving the code for the Dendogram ctors
from the cpp to the header file? (note, there are two Ctors)

On 06/25/2014 04:28 PM, David Hysom wrote:
> Hi, all,
>
> I'll jump in here since I wrote the Dendogram class.
> Dendogram is not templated; the constructor *is* implemented
> in Dendogram.cpp (I can send you the code, if that's needed and
> would help diagnose the problem).
>
> - David
>
> On 06/25/2014 04:20 PM, Bill Spotz wrote:
>> So I get the following:
>>
>> $ c++filt 
>> __ZN9DendogramC1EiiiRN7Teuchos3RCPIN6Tpetra9CrsMatrixIdiiN13KokkosClassic10OpenMPNodeENS4_20DefaultHostSparseOpsIviS5_NS4_7details22FirstTouchCRSAllocatorEEEEEEEii
>>
>> Dendogram::Dendogram(int, int, int, 
>> Teuchos::RCP<Tpetra::CrsMatrix<double, int, int, 
>> KokkosClassic::OpenMPNode, KokkosClassic::DefaultHostSparseOps<void, 
>> int, KokkosClassic::OpenMPNode, 
>> KokkosClassic::details::FirstTouchCRSAllocator> > >&, int, int)
>>
>> It looks to me like a Dendogram constructor (which I assume is on 
>> your side, as it is not a Trilinos class I am aware of) is defined in 
>> a header but not implemented.  It may not be called, but the dynamic 
>> linker thinks it needs it anyway.  If it works, you could delete the 
>> prototype, or if not, you will need to implement the constructor.
>>
>> -Bill
>>
>> On Jun 16, 2014, at 4:09 PM, Chaomei Lo <chaomeilo at gmail.com> wrote:
>>
>>> I have an application (using Trilinos) which I am not the author, 
>>> but I created a share library using "-fPIC "and "-shared".  The 
>>> application ran fine by creating an executable and the shared 
>>> library was created fine.
>>>
>>> Then I created R package using Rcpp to call the functions in this 
>>> application, when I do "R CMD check gpkg" - do compilation and 
>>> linking, it gave me the following error.  I have linked the shared 
>>> library created from the application which use Trilinos, and I have 
>>> linked to a lot of Trilinos libraries.  From the following error 
>>> with the undefined symbol. it seems trying to find "KokkosClassic 
>>> OpenMPNode DefaultHostSparseOps details FirstTouchCRSAllocator". The 
>>> application I am running used "Kokkos::OpenMPNode" to create 
>>> Tpetra::CrsMatrix.
>>> ------------------------------------------------------------------------------------- 
>>>
>>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>>   unable to load shared object '/people/me/.Rlibs/gpkg/libs/gpkg.so':
>>>   /people/me/.Rlibs/gpkg/libs/gpkg.so: undefined symbol: 
>>> _ZN9DendogramC1EiiiRN7Teuchos3RCPIN6Tpetra9CrsMatrixIdiiN13KokkosClassic10OpenMPNodeENS4_20DefaultHostSparseOpsIviS5_NS4_7details22FirstTouchCRSAllocatorEEEEEEEii
>>> ------------------------------------------------------------------------------------------------------------ 
>>>
>>> If anyone can give me some suggestion what I miss here would be 
>>> highly appreciated.
>>>
>>> Thanks.
>>> _______________________________________________
>>> Trilinos-Users mailing list
>>> Trilinos-Users at software.sandia.gov
>>> https://software.sandia.gov/mailman/listinfo/trilinos-users
>> ** Bill Spotz                                              **
>> ** Sandia National Laboratories  Voice: (505)845-0170      **
>> ** P.O. Box 5800                 Fax:   (505)284-0154      **
>> ** Albuquerque, NM 87185-0370    Email: wfspotz at sandia.gov **
>>
>>
>>
>>
>>
>> _______________________________________________
>> Trilinos-Users mailing list
>> Trilinos-Users at software.sandia.gov
>> https://software.sandia.gov/mailman/listinfo/trilinos-users
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> https://software.sandia.gov/mailman/listinfo/trilinos-users



More information about the Trilinos-Users mailing list