On the latest release of sorbet-static, running type-checking on a Debian Stretch based container has started failing. We believe the cause to be the Rubyfmt addition.
root@463b0b2bdbaa:/# more /etc/debian_version
9.12
root@463b0b2bdbaa:/# more /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@463b0b2bdbaa:/# uname -a
Linux 463b0b2bdbaa 5.4.0-1028-gcp #29~18.04.1-Ubuntu SMP Mon Oct 5 16:41:43 UTC 2020 x86_64 GNU/Linux
root@463b0b2bdbaa:/# gem install sorbet
Fetching sorbet-0.5.5994.gem
Fetching sorbet-static-0.5.5994-x86_64-linux.gem
Successfully installed sorbet-static-0.5.5994-x86_64-linux
Thanks for installing Sorbet! To use it in your project, first run:
bundle exec srb init
which will get your project ready to use with Sorbet.
After that whenever you want to typecheck your code, run:
bundle exec srb tc
For more docs see: https://sorbet.org/docs/adopting
Successfully installed sorbet-0.5.5994
2 gems installed
root@463b0b2bdbaa:/# srb --version
/usr/local/bundle/gems/sorbet-static-0.5.5994-x86_64-linux/libexec/sorbet: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /usr/local/bundle/gems/sorbet-static-0.5.5994-x86_64-linux/libexec/sorbet)
root@463b0b2bdbaa:/# srb tc -e ""
/usr/local/bundle/gems/sorbet-static-0.5.5994-x86_64-linux/libexec/sorbet: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /usr/local/bundle/gems/sorbet-static-0.5.5994-x86_64-linux/libexec/sorbet)
The same as the Sorbet binary from the day before:
root@463b0b2bdbaa:/# uname -a
Linux 463b0b2bdbaa 5.4.0-1028-gcp #29~18.04.1-Ubuntu SMP Mon Oct 5 16:41:43 UTC 2020 x86_64 GNU/Linux
root@463b0b2bdbaa:/# gem install sorbet -v 0.5.5991
Fetching sorbet-0.5.5991.gem
Fetching sorbet-static-0.5.5991-x86_64-linux.gem
Successfully installed sorbet-static-0.5.5991-x86_64-linux
Thanks for installing Sorbet! To use it in your project, first run:
bundle exec srb init
which will get your project ready to use with Sorbet.
After that whenever you want to typecheck your code, run:
bundle exec srb tc
For more docs see: https://sorbet.org/docs/adopting
Successfully installed sorbet-0.5.5991
2 gems installed
root@463b0b2bdbaa:/# srb --version
Sorbet typechecker 0.5.5991 git 1a9dc46bbc2cee1cc62c73f9cbf6868456fad4d8 debug_symbols=true clean=0
root@463b0b2bdbaa:/# srb tc -e ""
No errors! Great job.
Sounds like we need to put this behind a configuration flag. Sorry about that; I'll see about fixing this today.
@jvilk Thanks, that would be great.
One potential solution, proposed by @XrXr on my team, was to maybe statically link Rubyfmt against musl instead of glibc. Not sure if that's something you would prefer to (or even can) do, but I wanted to relay just in case.
/cc @jvilk-stripe
We would love to fix this so that it can be built w/o issue. Until we can do that, and we promote this from an experimental feature, I'll add in the config option.
Most helpful comment
Sounds like we need to put this behind a configuration flag. Sorry about that; I'll see about fixing this today.