Skip to content

Instantly share code, notes, and snippets.

@BlinkyStitt
Last active October 31, 2016 06:13
Show Gist options
  • Save BlinkyStitt/4200620 to your computer and use it in GitHub Desktop.
Save BlinkyStitt/4200620 to your computer and use it in GitHub Desktop.
Building BitcoinArmory on OSX up to 10.8
Instructions for 10.9 are in the works.
Install and configure brew
$ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
$ touch ~/.bashrc
$ echo "export CFLAGS=\"-arch x86_64\"" >> ~/.bashrc
$ echo "export ARCHFLAGS=\"-arch x86_64\"" >> ~/.bashrc
$ source ~/.bashrc
$ brew update
$ brew doctor
Do what the doctor says! This will more than likely include installing XCode from the App Store and then installing the "Command line tools" from "Xcode > Preferences > Downloads"
Now you have two choices. You can install the code via my brew tap, or you can use git to clone BitcoinArmory and build it manually yourself.
I recommend using method 1 as it is just as secure and provides a nice "ArmoryQt.command" to make launching the program easy.
===================================
METHOD 1: BREW TAP
===================================
Run the following commands WITH THE FOLLOWING CASE. Tapping is case sensitive!
$ brew tap WyseNynja/bitcoin
$ brew fetch --deps wysenynja/bitcoin/armory-qt
Make sure armory is from etotheipi's github and everything has the proper hashes.
Now install some dependencies that don't play nice if they are installed at the same time as armory.
$ brew install python gpg
$ pip install twisted psutil
Now import the signing key. You do not need to mark the key as trusted for the tag to be verified
$ gpg --recv-keys --keyserver keyserver.ubuntu.com 98832223
Now you are ready to actually install armory-qt!
$ brew install wysenynja/bitcoin/armory-qt
Running armory is incredibly easy!
$ ArmoryQt.command
===================================
METHOD 2: MANUAL
===================================
$ brew install python cryptopp swig sip qt pyqt git
Make sure this ends in success!
I prefer to use brew's python since it is newer (2.7.3 vs ML's 2.7.2). Plus it is installed as my user so I can muck with it without sudo and I don't have to worry about breaking anything on my system.
Then run some more commands
$ pip install twisted
$ mkdir ~/src
$ cd ~/src
$ git clone git://github.com/etotheipi/BitcoinArmory.git
$ cd BitcoinArmory
$ make
Running Armory is a bit awkward, but it isn't too bad. You have to set PYTHONPATH so the system python can find pyqt and twisted. I'm not sure why, but I haven't been able to get Armory built against brew's python. Since "make" built against the system python, you need to make sure that you use the system python. Brew recommends you put it's python in the front of PATH (which you did if you followed my instructions above), so using the full path to the system python makes sure it is used.
$ PYTHONPATH=`brew --prefix`/lib/python2.7/site-packages /usr/bin/python ~/src/BitcoinArmory/ArmoryQt.py
===================================
OTHER PACKAGES
===================================
Currently, Armory requires the satoshi client (bitcoin-qt or bitcoind) in order to connect to the Bitcoin network. You can either run bitcoin-qt or bitcoind. To get bitcoind on OSX, you can use my brew tap to install the latest stable version.
$ brew install wysenynja/bitcoin/bitcoind
You can also install the latest master, or luke-jr's next-test branch
$ brew install wysenynja/bitcoin/bitcoind --HEAD
$ brew install wysenynja/bitcoin/bitcoind-next-test --HEAD
@troelsfr
Copy link

Hi,

First of all, thanks for making a tutorial on this. I get following error when I try to install:

==> Cloning https://github.com/etotheipi/BitcoinArmory.git
Updating /Library/Caches/Homebrew/armory-qt--git
==> Checking out tag v0.91.1
==> Patching
patching file ArmoryQt.command
can't find file to patch at input line 14
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/osxbuild/deploy.sh b/osxbuild/deploy.sh
|index de3e31b..11b6975 100755
|--- a/osxbuild/deploy.sh
|+++ b/osxbuild/deploy.sh
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
patching file cppForSwig/Makefile
Hunk #1 FAILED at 17.
1 out of 1 hunk FAILED -- saving rejects to file cppForSwig/Makefile.rej
Error: Applying DATA patch failed

Do you have any idea as to why that is? I would have liked to supply you with Makefile.rej, but there is no such file in the cppForSwig directory.

@droark
Copy link

droark commented Oct 31, 2016

Hi. In case anybody stumbles upon this file moving forward, up-to-date instructions can be found here. That said, this guide was quite useful back in the day, especially when Alan basically relied on community support to get the OS X version going. :) Thanks to the original author!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment