Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release includes pre built backend binaries #101

Open
ffranr opened this issue Apr 4, 2018 · 4 comments
Open

Release includes pre built backend binaries #101

ffranr opened this issue Apr 4, 2018 · 4 comments

Comments

@ffranr
Copy link
Contributor

ffranr commented Apr 4, 2018

Support Linux 64bit.

@leoisl
Copy link

leoisl commented Feb 15, 2019

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.

@bricoletc
Copy link
Member

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
Copy link
Member

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

@leoisl
Copy link

leoisl commented May 18, 2021

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);

bricoletc added a commit that referenced this issue Jan 25, 2022
* Build script: --static flag
* Static compile flags in CMakeLists
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants