You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
running solana-test-validator on macOS (with apple silicon or arm64) fails with the following error:
Ledger location: test-ledger
Log: test-ledger/validator.log
Error: failed to start validator: Failed to create ledger at test-ledger: io error: Error checking to unpack genesis archive: Archive error: extra entry found: "._genesis.bin" Regular
reason: the GNU tar program is not compatible with the BSD tar program that comes pre-installed.
this is why we're using: gnu tar installation in .travis.yml
and here's the problem: this (/usr/local/opt/gnu-tar/libexec/gnubin) executable path is only valid for Intel-based macs (x86_64) and not for macs with apple silicon (arm64) chipset. by default, on apple silicon macs, executables are stored in a different location.
Proposed Solution
less ideal solution:
a local fix: Install the gnu tar program using brew and export its executable path in your .zshrc file.
macOS with apple silicon (arm64):
brew install gnu-tar
# Put this in ~/.zshrc export PATH="/opt/homebrew/opt/gnu-tar/libexec/gnubin:$PATH"
intel-based macOS (x86_64):
brew install gnu-tar
# Put this in ~/.zshrc export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"
Ideal Solution:
We can differentiate between Intel-based and Apple Silicon-based macOS directly in the .travis.yml file and set the PATH accordingly.
The text was updated successfully, but these errors were encountered:
Problem
running
solana-test-validator
on macOS (with apple silicon or arm64) fails with the following error:Ledger location: test-ledger Log: test-ledger/validator.log Error: failed to start validator: Failed to create ledger at test-ledger: io error: Error checking to unpack genesis archive: Archive error: extra entry found: "._genesis.bin" Regular
reason: the GNU
tar
program is not compatible with the BSDtar
program that comes pre-installed.this is why we're using: gnu tar installation in .travis.yml
and here's the problem: this (
/usr/local/opt/gnu-tar/libexec/gnubin
) executable path is only valid for Intel-based macs (x86_64) and not for macs with apple silicon (arm64) chipset. by default, on apple silicon macs, executables are stored in a different location.Proposed Solution
less ideal solution:
a local fix: Install the gnu tar program using brew and export its executable path in your
.zshrc
file.macOS with apple silicon (arm64):
intel-based macOS (x86_64):
Ideal Solution:
We can differentiate between Intel-based and Apple Silicon-based macOS directly in the
.travis.yml
file and set the PATH accordingly.The text was updated successfully, but these errors were encountered: