genetics-statistics / GEMMA

Genome-wide Efficient Mixed Model Association
https://github.com/genetics-statistics/GEMMA
GNU General Public License v3.0
316 stars 122 forks source link

Fix Travis CI #233

Closed pjotrp closed 3 years ago

pjotrp commented 3 years ago

Currently failing: https://travis-ci.org/github/genenetwork/GEMMA

pjotrp commented 3 years ago

The problem is that gsl_blas_types.h defines

typedef  enum CBLAS_ORDER       CBLAS_ORDER_t;

and openblas cblas.h collides with

typedef enum CBLAS_ORDER     {CblasRowMajor=101, CblasColMajor=102} CBLAS_ORDER;
pjotrp commented 3 years ago

In GSL gsl_cblas.h

enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102};

void cblas_dgemm(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA,
                 const enum CBLAS_TRANSPOSE TransB, const int M, const int N, ...

and in

gsl_blas_types.h:typedef  enum CBLAS_ORDER       CBLAS_ORDER_t;

should be compatible. Pulled in by gsl_blas_types.h and which is pulled in by all BLAS related GSL includes.

Meanwhile OpenBLAS in cblas.h

typedef enum CBLAS_ORDER     {CblasRowMajor=101, CblasColMajor=102} CBLAS_ORDER;

void cblas_dgemm(OPENBLAS_CONST enum CBLAS_ORDER Order, OPENBLAS_CONST enum CBLAS_TRANSPOSE TransA,  ...

which is different though probably interchangeable.