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

David Hysom hysom1 at llnl.gov
Wed Jun 25 17:28:40 MDT 2014


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



More information about the Trilinos-Users mailing list