microsoft / ripgrep-prebuilt

Builds ripgrep on Azure Pipelines for multiple platforms and makes the binaries available as Github releases
MIT License
46 stars 15 forks source link

change `arm-unknown-linux-gnueabihf` to musl #25

Closed andreamah closed 1 year ago

andreamah commented 1 year ago

Fixes #24

It seems that rust supports a musl version of arm-unknown-linux-gnueabihf, so use that one. Since we are cross-compiling, we don't need the host tool support.

https://doc.rust-lang.org/nightly/rustc/platform-support.html

andreamah commented 1 year ago

Originally, I was thinking to change the arm32 build from using gnu to musl, but the musl equivalent of gcc-arm-linux-gnueabihf isn't readily available as a package. Rather, it must be built from https://github.com/richfelker/musl-cross-make using steps like what is found in https://gist.github.com/ralfstx/20d403bfbdc693634f150109628171bc.

Perhaps a better way to approach this is to run this in the same docker container as vscode core does. Using the container from https://github.com/microsoft/vscode/blob/1da1092e6587b1deec454c7bb49dbd7ba3b0e90b/build/azure-pipelines/product-build.yml#L151, we can try to run the arm32 build. I think we'd be using docker qemu like in https://github.com/microsoft/vscode/blob/13819daa5f83313957c4eb1698797c9448155c90/build/azure-pipelines/linux/product-build-linux-server.yml#L83-L95

andreamah commented 1 year ago

Going to instead change the docker image that this build uses in order to solve this bug.