Maelstrom is a fast Rust, Go, and Python test runner that runs every test in its own container. Tests are either run locally or distributed to a clustered job runner.
Specific Maelstrom Program?
this is about the xtask distribute subcommand
Problem Statement
When we updated the nix glibc version to 2.39 our binaries now started getting built differently requiring glibc 2.39. When had the same problem with 2.38 but we wrote code in xtask distribute to remove those specific references. That code was specific to glibc 2.38 though, and when we upgraded it didn't work to do what it was meant to.
Proposed Solution
There are two types of things that we need to update in the binary. First are the symbols which are tied down to a specific glibc version, they need to be made general. Second is the section of the binary which lists the required glibc version. Both of these I want to make general to just fix up anything it finds with a new enough version.
Specific Maelstrom Program? this is about the xtask distribute subcommand
Problem Statement When we updated the nix glibc version to 2.39 our binaries now started getting built differently requiring glibc 2.39. When had the same problem with 2.38 but we wrote code in xtask distribute to remove those specific references. That code was specific to glibc 2.38 though, and when we upgraded it didn't work to do what it was meant to.
Proposed Solution There are two types of things that we need to update in the binary. First are the symbols which are tied down to a specific glibc version, they need to be made general. Second is the section of the binary which lists the required glibc version. Both of these I want to make general to just fix up anything it finds with a new enough version.