biology/gemma: Unbreak build

Conflict between cblas.h and gsl_cblas.h
This commit is contained in:
Jason W. Bacon 2020-01-14 22:35:36 +00:00
parent 0f9b626b53
commit 93f42ee115
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=523074
4 changed files with 44 additions and 9 deletions

View File

@ -2,7 +2,7 @@
PORTNAME= gemma
DISTVERSION= 0.98.1
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= biology
MAINTAINER= jwb@FreeBSD.org
@ -11,8 +11,7 @@ COMMENT= Genome-wide Efficient Mixed Model Association
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libcblas.so:math/cblas \
libgsl.so:math/gsl
LIB_DEPENDS= libgsl.so:math/gsl
USES= blaslapack:openblas compiler:c++11-lang eigen:3 gmake \
localbase:ldflags
@ -21,13 +20,12 @@ GH_ACCOUNT= genetics-statistics
GH_PROJECT= GEMMA
MAKEFILE= ${FILESDIR}/Makefile
CXXFLAGS+= -I${LOCALBASE}/include/eigen3 -DOPENBLAS -DOPENBLAS_LEGACY
LDFLAGS+= -lopenblas
# Assuming openblas is built with pthreads, not openmp
CXXFLAGS+= -I${LOCALBASE}/include/eigen3 -DOPENBLAS -pthread
LDFLAGS+= -lopenblasp -pthread
OPTIONS_DEFINE= EXAMPLES
BROKEN= Conflict between math/gsl and math/cblas constant redeclarations
pre-configure:
@${REINPLACE_CMD} -e 's|../bin/gemma|../gemma|' ${WRKSRC}/test/*.sh

View File

@ -1,7 +1,7 @@
GEMMA_VERSION = $(shell cat ./VERSION)
VGEN = scripts/gen_version_info.sh
CXXFLAGS += -DHAVE_INLINE -pthread -Wall -std=gnu++11
CXXFLAGS += -DHAVE_INLINE -Wall -std=gnu++11
CXXFLAGS += -DNDEBUG -Icontrib/catch-1.9.7 -Isrc
SRC_DIR = ./src

View File

@ -0,0 +1,15 @@
--- src/fastopenblas.h.orig 2018-12-11 05:34:29 UTC
+++ src/fastopenblas.h
@@ -23,10 +23,12 @@
#include <assert.h>
#include <iostream>
+/* Conflicts with gsl_cblas.h, included from gsl_matrix.h
extern "C"
{
#include <cblas.h> // For OpenBlas / Atlas
}
+*/
#include "gsl/gsl_matrix.h"
void fast_cblas_dgemm(const enum CBLAS_ORDER Order,

View File

@ -1,5 +1,18 @@
--- src/gemma.cpp.orig 2019-04-18 21:03:48 UTC
--- src/gemma.cpp.orig 2018-12-11 05:34:29 UTC
+++ src/gemma.cpp
@@ -75,9 +75,9 @@ void gemma_gsl_error_handler (const char * reason,
std::raise(SIGINT); // keep the stack trace for gdb
}
-#if defined(OPENBLAS) && !defined(OPENBLAS_LEGACY)
-#include <openblas_config.h>
-#endif
+//#if defined(OPENBLAS) && !defined(OPENBLAS_LEGACY)
+//#include <openblas_config.h>
+//#endif
void GEMMA::PrintHeader(void) {
@@ -154,7 +154,7 @@ void GEMMA::PrintHelp(size_t option) {
if (option == 0) {
@ -164,3 +177,12 @@
<< endl;
cout << endl;
}
@@ -3148,7 +3148,7 @@ void GEMMA::WriteLog(int argc, char **argv, PARAM &cPa
#ifdef OPENBLAS
#ifndef OPENBLAS_LEGACY
- outfile << "## OpenBlas =" << OPENBLAS_VERSION << " - " << openblas_get_config() << endl;
+ //outfile << "## OpenBlas =" << OPENBLAS_VERSION << " - " << openblas_get_config() << endl;
outfile << "## arch = " << openblas_get_corename() << endl;
outfile << "## threads = " << openblas_get_num_threads() << endl;
#else