-
Notifications
You must be signed in to change notification settings - Fork 21
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
Missing shared library in Linux Binary #66
Comments
Installing libgmp-dev got the binary working. Is there anyway to remove this dependency? |
Sorry about that! The Haskell runtime requires libgmp. I should be able to statically link it when building the binaries. |
I also needed to install build-essentials. Don't know why exactly, something to do with http when passing in a URI as the Input. |
HTTPS requests require some combination of ca-certificates and netbase. I’m not sure what regular HTTP requires.
…Sent from my iPhone
On Mar 25, 2018, at 10:16 AM, Chris ***@***.***> wrote:
I also needed to install build-essentials. Don't know why exactly, something to do with http when passing in a URI as the Input.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
As far as I know there's no way to bundle the stuff needed for HTTPS, but statically linking libgmp shouldn't be too hard. https://ro-che.info/articles/2015-10-26-static-linking-ghc |
Alright, I've finally got some time to work on this. I started a new branch in order to test some static compilation on Travis CI. Building the executable the old way (that is, dynamically linked) gave this output:
Attempting a static build (predictably) failed:
I'm running another build with the |
Yup, similar problem with
Fortunately the
However there are a bunch of linking warnings like this:
A quick look around makes me think that those linking warnings will be difficult to work around. Doing this properly might require building with musl libc, which isn't something I know how to do on Travis CI. |
The binaries on the releases page are still dynamically linked, but there is now a Docker image with a statically linked binary: https://hub.docker.com/r/taylorfausak/rattletrap/ $ docker run --rm taylorfausak/rattletrap rattletrap --input https://github.com/tfausak/rattletrap/raw/master/replays/29f5.replay | jq .header.body.properties.value.Date
{
"kind": "StrProperty",
"size": 21,
"value": {
"str": "2016-06-06:22-12"
}
} |
Tried to run rattletrap inside a docker container, but I'm missing some shared libraries.
Can you statically link them when compiling the binary? Not a haskell dev sorry
The text was updated successfully, but these errors were encountered: