Hi!
There seems to be a conflict between GMM and LAPACKE. The following test program does not compile with g++ 4.8.2 20131010 (prerelease):
#include "lapacke.h"
#include "gmm/gmm_matrix.h"
int main()
{
return(0);
}
The compiler output is:
********************************************************
In file included from /mn/anatu/cma-u3/tmac/usr/stow/gcc/include/c++/4.8.2/complex.h:36:0,
from /mn/anatu/cma-u3/tmac/usr/include/lapacke.h:77,
from conflict_gmm_lapacke.cpp:1:
/mn/anatu/cma-u3/tmac/usr/include/gmm/gmm_matrix.h:67:35: error: expected ‘,’ or ‘...’ before ‘(’ token
void add(const identity_matrix &I, const M &v1)
^
In file included from conflict_gmm_lapacke.cpp:2:0:
/mn/anatu/cma-u3/tmac/usr/include/gmm/gmm_matrix.h: In function ‘void gmm::add(const gmm::identity_matrix&)’:
/mn/anatu/cma-u3/tmac/usr/include/gmm/gmm_matrix.h:68:30: error: ‘v1’ was not declared in this scope
{ add(I, linalg_const_cast(v1)); }
**********************************************************
If I reverse the header file order, it compiles. lapacke.h seems to include "complex.h", which causes problems with gmm_matrix.h.