Search code examples
sbtarm64apple-silicon

SBT fails to launch on ARM64 Apple silicon with error Could not find required component 'xsbti'


When I launch SBT 1.5 using the command which in turn launches version 0.13 for the project

❯ sbt -v
[sbt_options] declare -a sbt_options='()'
[process_args] java_version = '8'
# Executing command line:
java
-Dfile.encoding=UTF-8
-Xms1024m
-Xmx1024m
-Xss4M
-XX:ReservedCodeCacheSize=128m
-jar
/opt/homebrew/Cellar/sbt/1.5.0/libexec/bin/sbt-launch.jar

[info] Loading global plugins from /Users/viswanath/.sbt/0.13/plugins
[info] Updating {file:/Users/viswanath/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.

I get the following error

[error] (compile:compileIncremental) sbt.InvalidComponent: Could not find required component 'xsbti'

on my MacBookPro with M1 processor (a.k.a Apple silicon) on ARM64 architecture. Any clue on how to fix this problem?

Note: Bundled SBT runs fine on IntelliJ


Solution

  • Bumped up the project's SBT version to 1.5.0 and the problem disappeared. See this githib issue for more information.

    Alternatively, check this workaround on SBT 1.5.0 for launching SBT in interactive mode.

    sbt -Dsbt.boot.directory=/tmp/boot1 -Dsbt.launcher.coursier=false