PyTrilinos: Conflicting types in Teuchos_BLAS_wrapper.hpp
*Created by: wfspotz* @trilinos/pytrilinos @trilinos/teuchos @trilinos/kokkos-kernels ## Expectations I expect to build PyTrilinos without compilation errors ## Current Behavior I have a wrapper file that `#include`s the header `MLAPI_MultiVector.h` which gives the compilation error /Development/Trilinos/packages/teuchos/numerics/src/Teuchos_BLAS_wrappers.hpp:173:13: error: conflicting types for 'daxpy_' void PREFIX DAXPY_F77(const int* n, const double* alpha, const double x[], const int* incx, double y[], const int* incy); ^ /Development/Trilinos/packages/teuchos/numerics/src/Teuchos_BLAS_wrappers.hpp:78:21: note: expanded from macro 'DAXPY_F77' #define DAXPY_F77 F77_BLAS_MANGLE(daxpy,DAXPY) ^ /Development/Trilinos/MPI/packages/teuchos/core/src/Teuchos_config.h:10:37: note: expanded from macro 'F77_BLAS_MANGLE' #define F77_BLAS_MANGLE(name,NAME) name ## _ ^ <scratch space>:23:1: note: expanded from here daxpy_ ^ /Development/Trilinos/packages/kokkos-kernels/src/impl/tpls/KokkosBlas1_axpby_tpl_spec_decl.hpp:49:17: note: previous declaration is here extern "C" void daxpy_( const int* N, const double* alpha, ## Definition of Done I can get the PyTrilinos package to build and all of the PyTrilinos tests to pass. ## Possible Solution I'm not sure why this conflicting type declaration is occurring, but it is clearly related to macro expansion. Based on `git blame` of `Teuchos_BLAS_wrapper.h` I'm hoping either @jwillenbring or @hkthorn might have some idea what the problem could be. PyTrilinos can present some unique configuration issues. ## Steps to Reproduce If it gets to this, I can help someone set up their environment to build PyTrilinos.
issue