[Trilinos-Users] [11.12.1] Amesos with SuperLU_Dist 3.3 -- build error

Roberts, Nathan V. nvroberts at alcf.anl.gov
Wed Jan 14 17:37:33 MST 2015


Denis,

I’ve run into the same issue; I didn’t submit a patch since I wasn’t sure what was required to maintain compatibility with previous versions of SuperLUDist (Amesos advertises compatibility<http://trilinos.org/packages/amesos/> with version 2.5), but here’s what I do to resolve.

Lines 476 and 477 of packages/amesos/src/Amesos_Superludist.cpp read:

    else if( IterRefine_ == "DOUBLE" ) PrivateSuperluData_->options_.IterRefine = DOUBLE;
    else if( IterRefine_ == "EXTRA" ) PrivateSuperluData_->options_.IterRefine = EXTRA;

I just changed DOUBLE to SLU_DOUBLE and EXTRA to SLU_EXTRA:

    else if( IterRefine_ == "DOUBLE" ) PrivateSuperluData_->options_.IterRefine = SLU_DOUBLE;
    else if( IterRefine_ == "EXTRA" ) PrivateSuperluData_->options_.IterRefine = SLU_EXTRA;

After that, Amesos_SuperLUdist.cpp compiled.  My experience has been that SuperLUDist 3.3 does work fine with Amesos, despite the docs only indicating support for 2.5.  But I haven’t done any formal testing.

Cheers,
Nate

On Jan 14, 2015, at 6:15 PM, Denis Davydov <davydden at gmail.com<mailto:davydden at gmail.com>> wrote:

Dear developers,

sorry for keep posting build errors, but I encounter another one when compiling:

[ 68%] Building CXX object packages/moocho/thyra/src/CMakeFiles/moochothyra.dir/AbstractLinAlgPack/AbstractLinAlgPack_MatrixOpNonsingThyra.cpp.o
xxx/trilinos-11.12.1-Source/packages/amesos/src/Amesos_Superludist.cpp:476:83: error: use of undeclared identifier 'DOUBLE'; did you mean 'MPI::DOUBLE'?
   else if( IterRefine_ == "DOUBLE" ) PrivateSuperluData_->options_.IterRefine = DOUBLE;
                                                                                 ^~~~~~
                                                                                 MPI::DOUBLE
/usr/local/Cellar/open-mpi/1.8.4/include/openmpi/ompi/mpi/cxx/constants.h:125:37: note: 'MPI::DOUBLE' declared here
OMPI_DECLSPEC extern const Datatype DOUBLE;
                                   ^
xxx/trilinos-11.12.1-Source/packages/amesos/src/Amesos_Superludist.cpp:476:81: error: assigning to 'IterRefine_t' from incompatible type 'const MPI::Datatype'
   else if( IterRefine_ == "DOUBLE" ) PrivateSuperluData_->options_.IterRefine = DOUBLE;
                                                                               ^ ~~~~~~
xxx/trilinos-11.12.1-Source/packages/amesos/src/Amesos_Superludist.cpp:477:82: error: use of undeclared identifier 'EXTRA'
   else if( IterRefine_ == "EXTRA" ) PrivateSuperluData_->options_.IterRefine = EXTRA;
                                                                                ^
3 errors generated.
make[2]: *** [packages/amesos/src/CMakeFiles/amesos.dir/Amesos_Superludist.cpp.o] Error 1
make[1]: *** [packages/amesos/src/CMakeFiles/amesos.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs….


Please, let me know if you need more input.
If the issue have been fixed in HEAD already, i would be grateful for a .patch corresponding to the commit which fixes this.
I had a quick look at the .cpp file, but I could not spot the problem.

p.s. I was thinking to try HEAD version to see if those error are fixed, but there are other issues which prevent compilation.


Sincerely,
Denis

_______________________________________________
Trilinos-Users mailing list
Trilinos-Users at software.sandia.gov<mailto:Trilinos-Users at software.sandia.gov>
https://software.sandia.gov/mailman/listinfo/trilinos-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20150115/4e0daa77/attachment.html>


More information about the Trilinos-Users mailing list