aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL.md14
-rw-r--r--src/debug.cpp2
-rw-r--r--src/io.cpp1
3 files changed, 16 insertions, 1 deletions
diff --git a/INSTALL.md b/INSTALL.md
index 7778ca8..f42d7a9 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -172,3 +172,17 @@ Note, for performance we want a 64-bit binary with threading.
make EIGEN_INCLUDE_PATH=~/.guix-profile/include/eigen3 LIBS="~/opt/gsl2/lib/libgsl.a ~/tmp/OpenBLAS/libopenblas_haswell-r0.3.0.dev.a ~/.guix-profile/lib/libgfortran.a ~/.guix-profile/lib/libquadmath.a -pthread -lz" OPENBLAS_INCLUDE_PATH=~/tmp/OpenBLAS/ -j 4 fast-check
Note we don't include standard lapack, because it is 32-bits.
+
+## Trouble shooting
+
+### undefined reference to `dpotrf_'
+
+If you get errors like
+
+ gemma/src/lapack.cpp:58: undefined reference to `dpotrf_'
+ gemma/src/lapack.cpp:80: undefined reference to `dpotrs_'
+ gemma/src/lapack.cpp:162: undefined reference to `dsyev_'
+
+it means you need to link against LAPACK. E.g.
+
+ make WITH_LAPACK=1
diff --git a/src/debug.cpp b/src/debug.cpp
index fd94f1e..45e57d7 100644
--- a/src/debug.cpp
+++ b/src/debug.cpp
@@ -143,7 +143,7 @@ gsl_vector *gsl_vector_safe_alloc(size_t n) {
char *do_strtok_safe(char *tokenize, const char *delimiters, const char *__pretty_function, const char *__file, int __line) {
auto token = strtok(tokenize,delimiters);
- if (token == NULL && (is_debug_mode() || is_strict_mode()))
+ if (token == NULL && is_check_mode())
fail_at_msg(__file,__line,string("strtok failed in ") + __pretty_function);
return token;
}
diff --git a/src/io.cpp b/src/io.cpp
index d20b473..941bacf 100644
--- a/src/io.cpp
+++ b/src/io.cpp
@@ -707,6 +707,7 @@ bool ReadFile_geno(const string &file_geno, const set<string> &setSnps,
if (indicator_idv[i] == 0)
continue;
+ enforce_msg(ch_ptr,"Problem reading geno file");
if (strcmp(ch_ptr, "NA") == 0) {
gsl_vector_set(genotype_miss, c_idv, 1);
n_miss++;