-
Notifications
You must be signed in to change notification settings - Fork 12
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
Provide pre-built binaries for alpine/musl #136
Comments
Hey thank you! You also have an amazing 2022! This is an interesting question actually, but it seems it's more of a question to the makers of https://www.npmjs.com/package/prebuild which is what we use to generate the builds. You see the resulting binary packages are called e.g. Maybe there is a way to link to the two libraries dynamically in such a way that one is loaded if the other is not present - this is a question a C/C++ programmer would be able to answer. Yeah, anyway, the first step would be consulting with Alternatively I guess we could create separate releases for separate platforms, but that kind of complicates things and also would require the build/release system to be changed. Yeah, interesting question definitely. Maybe the easier solution would be to install |
Update: |
Hey @rprovodenko, thanks for the preliminary work! |
Oh hey, more than year since I made that issue. |
Hi @rgoupil ! I would love to hear more about your workaround to that issue. I am facing the same problem since I have an image that is based on alpine/musl. Thanks! |
We cache the node_modules using the yarn.lock hash in ECR. While imperfect, investing more time into this issue is not worth it as we rarely notice the issue anymore. |
Thanks for the info @rgoupil! |
It'd be great if
node-duckdb
would provide pre-built binaries for Alpine builds, which relies onmusl
rather thanglibc
.Alpine is a very common choice of docker base image for CD/CI and production systems. As no pre-built binaries of
node-duckdb
can be found formusl
, it currently forces all these users to rebuild the package from scratch, which in our case adds an extra 15 to 25 minutes to the GitHub pipeline.In order to fight this, we are then forced to implement caching mechanism to those pipelines or to swap to a debian docker base image, which further increase the cost and complexity of integrating
node-duckdb
to a project.Building binaries for
musl
would solve the issue for all users relying on alpine variants or other musl-based flavors without forcing them to invest more time and effort into adapting their existing system to fitnode-duckdb
.I am willing to take care of the PR for that. From my understanding it involves adding an alpine build image in the
docker-compose.yml
file, adding aprebuild:alpine
rule to thepackage.json
, modifying the github pipeline before updating the dev doc to reflect the changes for manual build.If that's correct, I would like some hint for the modification to the Github pipelines as I don't see where the different OS build are spawned.
Many thanks and I wish you the best for 2022!
The text was updated successfully, but these errors were encountered: