Fixing Bitcoin Armory on macOS Catalina 10.15
The recent surge in crypto prices brought my old Bitcoin stash back to mind. I decided to load up an old digital wallet to check it for consistency, but when I tried to load it, the software, Bitcoin Armory, wouldn’t run. I’m running macOS Catalina 10.15.7, so I figured something changed during my miscellaneous software updates or upgrade from Mojave to Catalina.
Troubleshooting
I have a paper wallet and it wouldn’t be difficult to spin up a VM with an older Windows or macOS version, but that’s time consuming and tedious - even with Terraform provisioning, PXEbooting and Ansible post-provisioning in my arsenal.
After doing some searching I found this forum discussion at bitcointalk.org. It was somewhat useful, but it didn’t quite solve my particular problem.
As I set about debugging the issue it turned out the problem was a pretty easy fix.(for me)
When Armory crashed, it prompted me to view a Report:
Ok fair enough. That’s what crash reports are for.
Debugging
Clicking Report...
produced output like this:
This is most of the crash report:
1 | Process: Python [90706] |
When reviewing it I found the following lines to be relevant:
1 | Dyld Error Message: |
image not found
sounds like a problem. Does the file exist?
1 | cbergeron@cb-mbp $ ls -l /usr/local/opt/openssl/lib/libssl.1.0.0.dylib |
Nope. No libssl.1.0.0.dylib
. It’s absent. I use GNU Locate
on my Mac so let’s see if it exists anywhere on my system:
1 | cbergeron@cb-mbp $ glocate libssl.1.0.0.dylib |
Look at that - it’s included in the Amazon AWS command line package. Since it’s already on my laptop and it’s the proper version and since I’m just looking for a quick solution to sweep my bitcoin keys away, I’ll try to link to that library directly and restart Armory:
1 | cbergeron@cb-mbp lib $ ln -s /usr/local/aws-cli/libssl.1.0.0.dylib |
No dice. I started Armory and another error popped up. There’s another file missing but now it’s libcrypto.1.0.0.dylib
. That file is also included in the aws-cli package, so I just have to symlink to it too:
1 | cbergeron@cb-mbp lib $ ln -s /usr/local/aws-cli/libcrypto.1.0.0.dylib |
Here are the files in /usr/local/opt/openssl/lib/
directory with the new symlinks that I created:
1 | lrwxr-xr-x 1 username staff 37 Feb 25 22:37 libssl.1.0.0.dylib -> /usr/local/aws-cli/libssl.1.0.0.dylib |
I try starting Bitcoin Armory again and …
Success
After the app loads it will begin to load the Bitcoin Blockchain and check the Armory database and digital wallet. This takes quite a while and depends on your internet connection and computer speed:
Relief
After waiting for the blockchain to download and for the wallet consistency check to complete I was relieved to see my transaction history, Armory is Online and my Spendable Funds are there.
Needless to say, these coins have been swept into a more reliable Wallet App with MFA and Paper. Selecting a Bitcoin App / trading account is extremely important so do some research before making your selection. In 2021, Bitcoin platforms are more mature then they were back in 2013, but due dilligence always pays off in the end.
Fixing Bitcoin Armory on macOS Catalina 10.15
https://chrisbergeron.com/2021/02/26/Fixing-Bitcoin-Armory-on-macOS-Catalina-10.15/