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

Request from an alpine musl build #131

Open
belgattitude opened this issue Jan 30, 2025 · 7 comments
Open

Request from an alpine musl build #131

belgattitude opened this issue Jan 30, 2025 · 7 comments
Labels
enhancement New feature or request

Comments

@belgattitude
Copy link
Contributor

Hello, I'm trying out duckdb-neo... Got some issues with alpine.

In the meantime I moved my docker images to bookworm-slim, but I still feel alpine is widely used and could help adoption.

You can have a look or reproduce with the docker images located in

https://github.com/belgattitude/flowblade/tree/main/examples/apps/nextjs-app/docker

Note that in order for them to work, the #127 should be included.

@jraymakers
Copy link
Contributor

Agree this would be desirable; it's not the first time I've heard this request.

Unfortunately it's not possible at this moment, because DuckDB doesn't release official binaries for Alpine/musl. Node Neo depends on official binaries. There's an open request for this, and I suspect it might happen, though I don't know when. If/when it does, I'll be happy to extend Node Neo support to that platform, assuming I can figure out how to make the build work. (Since I don't think there are GitHub runners with Alpine, it will likely require cross-compilation, something I did for Linux arm64 but am still learning about.)

@jraymakers jraymakers added the enhancement New feature or request label Jan 30, 2025
@belgattitude
Copy link
Contributor Author

Thank you for the answer. Makes sense

@belgattitude
Copy link
Contributor Author

belgattitude commented Feb 5, 2025

Saw that 1.2.0 comes with musl build for amd64. When time comes I’d be happy to help to support.

I’m basically interested to test difference in performance and memory between the targets. So nothing really needed

@jraymakers
Copy link
Contributor

Now that it's out, I'm looking into the details of 1.2.0's support for musl, and what it would take to support it in Node Neo. In particular, I'm trying to understand if there are official binaries or not. If you learn anything interesting, let me know.

@jraymakers
Copy link
Contributor

Some details of the musl support were clarified:

Note that DuckDB binaries (e.g., the CLI client) are not yet distributed for musl platforms, so you have to build them from source.

This unfortunately is going to make supporting musl in Node Neo harder. I don't really want to get into the business of building and distributing musl binaries myself.

@belgattitude
Copy link
Contributor Author

Totally fair. I should have checked the details.

Just dropping a comment as a reminder. The detect-libc might help as there isn't a process.libc in node. When times comes, it can be used in the index.js file.

@jraymakers
Copy link
Contributor

Thanks for the pointer (about detect-libc). I agree that might be useful when the binaries are available.

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

No branches or pull requests

2 participants