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

Support for Alpine Linux prebuilt binaries #172

Closed
jcallin opened this issue Oct 11, 2019 · 3 comments · Fixed by #173
Closed

Support for Alpine Linux prebuilt binaries #172

jcallin opened this issue Oct 11, 2019 · 3 comments · Fixed by #173

Comments

@jcallin
Copy link

jcallin commented Oct 11, 2019

If anyone is wondering about this and needs a quick fix, I've published prebuilt binaries for v4.4.0 for Alpine Linux here https://github.com/jcallin/headless-gl-alpine-prebuilt/releases and have included steps to including the binaries to be found by gl

I might have opened a PR here, but Travis CI doesn't readily support Alpine Linux build environments in which the binary could be created (correct me if I'm wrong, just gave it half an hour of Googling)

@dhritzkiv
Copy link
Member

Hi thanks for doing that.

We'd be interested in somehow adding this to this repo in the future.

Are these are the options you passed into prebuild:

node=10.14.2
arch=x64
libc=musl
platform=linux

Perhaps libc=musl can still be built from Ubuntu?

@jcallin
Copy link
Author

jcallin commented Oct 11, 2019

Hm I did it a slightly hackier way. I cloned gl inside an Alpine Docker image and ran npm install. After the bindings were built I cleaned the build and build/Release folders of everything except for the .node file, tar'd build/ and uploaded.

I am not super experienced here, I was doing this for a better CI integration for our front-end project. I didn't want to mess around acquiring musl and passing it to prebuild, so I just let the environment handle it all by building within the docker container.

Another thing I'm thinking is that I may have built the bindings for gl instead of headless-gl. Should I have cloned this repo and done the process I described above instead?

I see that using prebuild is definitely the preferred option and I agree that you could probably just build on Ubuntu and pass the musl libc to it.

@dhritzkiv
Copy link
Member

Note: This repo (headless-gl) is found on npm as gl, I believe.

That hacky way is how a lot of prebuilds were done a couple of months ago when our CI environment was busted. Since then, linux and osx releases have

Perhaps on the next release, I'll try to remember to update the prebuild script to also build for musl. Hopefully it's as simple as that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants