aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.guix-dev-static2
-rw-r--r--INSTALL.md28
-rw-r--r--Makefile8
-rw-r--r--RELEASE-NOTES.md6
4 files changed, 44 insertions, 0 deletions
diff --git a/.guix-dev-static b/.guix-dev-static
new file mode 100644
index 0000000..a5efa2f
--- /dev/null
+++ b/.guix-dev-static
@@ -0,0 +1,2 @@
+# Typical Guix container invocation
+~/opt/guix/bin/guix environment -C guix --ad-hoc gcc-toolchain:static gdb gsl openblas zlib:static bash ld-wrapper perl vim which gfortran-toolchain
diff --git a/INSTALL.md b/INSTALL.md
index 87066b6..8c0fdb0 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -122,3 +122,31 @@ GEMMA includes the shunit2 test framework (version 2.0).
or
./run_tests.sh
+
+## Releases
+
+### Docker release
+
+To distribute GEMMA I made static versions of the binary. A container
+can be made instead with, for example
+
+```sh
+env GUIX_PACKAGE_PATH=~/guix-bioinformatics ~/.config/guix/current/bin/guix \
+ pack -f docker gemma-gn2 -S /bin=bin
+```
+
+which created a container in of size 51MB. Tiny! For more information
+see
+[GUIX-NOTES](http://git.genenetwork.org/guix-bioinformatics/guix-notes/CONTAINERS.org).
+
+
+### Static release
+
+To create a static release, locate the gfortran lib and use
+
+ source .guix-dev-static
+ make WITH_GFORTRAN=1 EXTRA_FLAGS=-L/gnu/store/741057r2x06zwg6zcmqmdyv51spm6n9i-gfortran-7.5.0-lib/lib static
+
+otherwise OpenBlas will complain with
+
+ undefined reference to `_gfortran_concat_string'
diff --git a/Makefile b/Makefile
index 92e55b9..0cf3097 100644
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,10 @@
#
# make static
#
+# Static build may require some extra flags
+#
+# make WITH_GFORTRAN=1 EXTRA_FLAGS=-L/gnu/store/741057r2x06zwg6zcmqmdyv51spm6n9i-gfortran-7.5.0-lib/lib static
+#
# Run tests with
#
# make check
@@ -72,6 +76,7 @@ WITH_GFORTRAN = # Add -lgfortran (if OpenBlas does not
OPENBLAS_LEGACY = # Using older OpenBlas
FORCE_STATIC = # Static linking of libraries
GCC_FLAGS = -DHAVE_INLINE -pthread -Wall -std=gnu++11 # extra flags -Wl,--allow-multiple-definition
+EXTRA_FLAGS =
GSL_INCLUDE_PATH =
ifeq ($(SYS), WIN)
@@ -172,6 +177,9 @@ endif
ifdef WITH_GFORTRAN
LIBS += -lgfortran -lquadmath
endif
+ifdef EXTRA_FLAGS
+ LIBS += $(EXTRA_FLAGS)
+endif
.PHONY: all test
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index 7fa72cf..1d59d23 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -4,6 +4,12 @@ see
and
[commits](https://github.com/genetics-statistics/GEMMA/commits/master).
+## ChangeLog v0.99-pre1 (2020/??)
+
+* GEMMA builds on ARM
+* Fixed static build - requires gfortran path for OpenBLAS
+* Updated README's and Manual
+
## ChangeLog v0.98.3 (2020/11/28)
Maintenance release