-
Notifications
You must be signed in to change notification settings - Fork 129
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Discussion on deploying (pre-)build static libraries #341
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
Comments
If I understand correctly, Looking at the new Node Neo client, I wonder if it makes sense to rely on the C API directly (which should also play nicer with CGO).
It's definitely a monumental undertaking to switch bindings, but I think it would significantly help in the long term. Using the same API as Neo would also mean we have a direct shared point of reference and the C API would get a lot of priority for bug fixes etc. |
I agree. Both with the expected effort and the necessity... We are currently using the C API function calls, but we need to change how we use them in the (not too far) future. I'd love to have go-duckdb run on top of some bindings-only package. I've been experimenting with our recent C API changes here... I also saw this new discussion here: #342. Although I have no experience with purego, and I am not sure how active that project is. |
Is there a smaller than "rewrite the whole thing" solution that's possible here? Such as:
|
If duckdb were to provide these, how would we then pull them into the project with |
I'm not a go expert, but we seem to have hit the limit of what's possible with plain
But given the various conflicting restrictions in play, I don't see how to do this just with A good first step would be getting the build recipe and artifacts for the |
I agree. I've opened a first PR for OSX arm + amd builds here: duckdb/duckdb#15682. Having both
Sounds like a good way forward to me. We should also discuss how people would best |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
While I understand statically linked duckdb
.a
libraries are not included in upstream packages by default & building them is slow, including binary blobs in the source tree smells bad at best and is a supply chain attack vector (by targeting whoever is building them) at worst. Also seems to be the source of a number of other problems, see: #336, #323, #54, #38, #120, #279, #330It should be possible to build Go bindings entirely from source and/or publicly released artifacts from other projects.
The text was updated successfully, but these errors were encountered: