WIP: statically linked build for non Alpine Linux x86_64#33
WIP: statically linked build for non Alpine Linux x86_64#33kalinkrustev wants to merge 6 commits into
Conversation
|
@kalinkrustev quick question, can I use the target |
|
The |
| tree-sitter-c = "0.20" | ||
| tree-sitter-cpp = "0.20" | ||
| tree-sitter-c-sharp = "0.20" | ||
| tree-sitter-elixir = "0.1" |
There was a problem hiding this comment.
As mentioned in the PR description, this version of the module used C++, so I changed it to use the git repository, where the module is rewritten in C, so that it can compile with musl.
There was a problem hiding this comment.
This is why the current musl version does not work -- it requires libstdc++.so.6.
There was a problem hiding this comment.
Probably should leave a comment above each of these tree-sitter dependencies to state why they are pulling in a specific version from github.
|
@kalinkrustev and @McPatate see my comment, here: #25 (comment) still does not work with older versions of |
|
I tested the version from @kalinkrustev's fork and was able to get it running fine. What do we need to change to get this PR merged? |
@McPatate I am really keen on using this fix as trying to orchestrate other forks is a bit cumbersome. Would be grateful if you could expedite the merge. Cheers! |
|
Let me finish up some fixes for |
McPatate
left a comment
There was a problem hiding this comment.
I'm not convinced we have to modify the CI yaml. The fix looks like it's about the tree sitter crates using C++
| - os: ubuntu-22.04 | ||
| target: x86_64-unknown-linux-musl | ||
| code-target: linux-x64 |
Maybe we can break out the removal of the tree sitter C++ dependency into it's own PR and then we can reason about the changes seperately. |
This was going to work very well, but the recent addition of tree-sitter broke the build, as it has few modules written in C++ and they fail to build with Rust and musl. For two of them I have found the git repo already contained code rewritten in C, so only Ruby didn't, so I disabled it in the fork. I could not find any solution how to build C++ with Rust and musl.
Below is the error related to C++
tree-sitter-rubycode. Similar ones happened fortree-sitter-elixir,tree-sitter-html