gramtools icon indicating copy to clipboard operation
gramtools copied to clipboard

Release includes pre built backend binaries

Open ffranr opened this issue 7 years ago • 4 comments
trafficstars

Support Linux 64bit.

ffranr avatar Apr 04 '18 11:04 ffranr

I've already dealt with this in DBGWAS. Precompilation was done using Holy Build Box, so it should work on pretty much any glibc-based x86 and x86-64 Linux distribution released since approx 2011 (e.g.: Debian >= 7, Ubuntu >= 10.10, Red Hat Enterprise Linux >= 6, CentOS >= 6, etc). We just followed exactly what Páll Melsted did to create precompiled binaries for kallisto (see https://pmelsted.wordpress.com/2015/10/14/building-binaries-for-bioinformatics/). However, Holy Build Box includes a very simple compiler toolchain to build compatible binaries (see https://github.com/phusion/holy-build-box#isolated-build-environment-based-on-docker-and-centos-6), which I am unsure if gramtools will compile.

To check: if gramtools compiles with HBB, then this solution is a good option. Worked for kallisto and DBGWAS. Otherwise, we do the least fixes to make it compile and test.

leoisl avatar Feb 15 '19 13:02 leoisl

In v1.7.0, there is now a precompiled binary packaged in the release, that the python installation process will try to run. If it fails, it will compile the binary instead. The README now states this.

The caveat is it's Linux 64 bit and not compiled against an old glibc.

bricoletc avatar Jan 28 '21 17:01 bricoletc

Pandora provide a statically-linked binary which does not depend on glibc by using musl instead: https://github.com/rmcolq/pandora/tree/master/scripts/portable_binary_builder

bricoletc avatar May 18 '21 10:05 bricoletc

just remembered gramtools also has python parts. Can also build a statically linked single binary for python code using PyInstaller. This is what we do for the updateable make_prg: https://github.com/leoisl/make_prg/tree/master/scripts/build_precompiled_binary ... although could not make PyInstaller work with musl, so the container compiles against an old centos7. It requires thus GLIBC >= 2.17 to be present (present on Ubuntu >= 13.04, Debian >= 8.0, CentOS >= 7, RHEL >= 7.9, Fedora >= 19, etc);

leoisl avatar May 18 '21 10:05 leoisl