Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/). This product includes
cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP
software written by Thomas Bernard.
Portions Copyright (c) 2011 Douglas Huff
Distributed under the MIT/X11 software license, see the accompanying file
license.txt or http://www.opensource.org/licenses/mit-license.php. This
product includes software developed by the OpenSSL Project for use in the
OpenSSL Toolkit (http://www.openssl.org/). This product includes cryptographic
software written by Eric Young (eay@cryptsoft.com) and UPnP software written by
Thomas Bernard.
Mac OS X build instructions
Laszlo Hanyecz (solar@heliacal.net)
Laszlo Hanyecz <solar@heliacal.net>
Douglas Huff <dhuff@jrbobdobbs.org>
Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
@ -16,18 +18,19 @@ Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
@@ -16,18 +18,19 @@ Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
All of the commands should be executed in Terminal.app.. it's in
/Applications/Utilities
You need to install XCode with all the options checked so that the compiler
and everything is available in /usr not just /Developer
I think it comes on the DVD but you can get the current version from
http://developer.apple.com
You need to install XCode with all the options checked so that the compiler and
everything is available in /usr not just /Developer I think it comes on the DVD
but you can get the current version from http://developer.apple.com
1. Pick a directory to work inside.. something like ~/bitcoin works. The
structure I use looks like this:
(~ is your home directory)
~/bitcoin
~/bitcoin/trunk # source code
~/bitcoin/bitcoin # Upstream source tree
~/bitcoin/src # source code (symlink to ~/bitcoin/bitcoin/src)
~/bitcoin/deps # dependencies.. like libraries and headers needed to compile
~/bitcoin/Bitcoin.app # the application bundle where you can run the app
@ -38,12 +41,15 @@ WARNING: do not use the ~ notation with the configure scripts.. use the full
@@ -38,12 +41,15 @@ WARNING: do not use the ~ notation with the configure scripts.. use the full
name of the directory, for example /Users/james/bitcoin/deps for a user named
'james'. In my examples I am using 'macosuser' so make sure you change that.
2. Check out the trunk version of the bitcoin code from subversion:
This will make ~/bitcoin/trunk for you with all the files from subversion.
This will make ~/bitcoin/bitcoin for you with all the files from git. This puts
the actual sources in ~/bitcoin/bitcoin/src and create a symlink src in
~/bitcoin to this location.
3. Get and build the dependencies
@ -80,6 +86,8 @@ This is what my output looked like at the end:
@@ -80,6 +86,8 @@ This is what my output looked like at the end:
OpenSSL
-------
(System or MacPorts openssl will work fine. Optional.)
Download from http://www.openssl.org/source/
We would like to build this as a 32 bit/64 bit library so we actually build it
@ -120,6 +128,8 @@ lib/libcrypto.a (for architecture x86_64): current ar archive random library
@@ -120,6 +128,8 @@ lib/libcrypto.a (for architecture x86_64): current ar archive random library
miniupnpc
---------
(MacPorts miniupnpc package works fine. You will need to modify makefile.)
The process for miniupnpc (optional) is similar to that of OpenSSL.
Download from http://miniupnp.tuxfamily.org/files/.
@ -160,6 +170,8 @@ lib/libminiupnpc.a (for architecture x86_64): current ar archive random library
@@ -160,6 +170,8 @@ lib/libminiupnpc.a (for architecture x86_64): current ar archive random library
Berkeley DB
-----------
(System or MacPorts version work fine.)
Download from http://freshmeat.net/projects/berkeleydb/
cd ~/bitcoin/deps
@ -171,6 +183,8 @@ cd db-4.8.26/build_unix
@@ -171,6 +183,8 @@ cd db-4.8.26/build_unix
wxWidgets
---------
(The wxWidgets-devel MacPorts package will work but will throw annoying assertion dialogs.)
This is the big one..
Check it out from svn
@ -236,26 +250,29 @@ make install
@@ -236,26 +250,29 @@ make install
Now you should be able to build bitcoin
cd ~/bitcoin/trunk
cd ~/bitcoin/src
make -f makefile.osx bitcoin
Before you can run it, you need to create an application bundle for Mac OS.
Create the directories in terminal using mkdir and copy the files into place.
They are available at http://heliacal.net/~solar/bitcoin/mac-build/
You need the Info.plist and the .ins file. The Contents/MacOS/bitcoin file is