OS X Build Setup

From Cryptohaze Project Wiki
Jump to: navigation, search

Congratulations. Mac setup, here we go!

Base Install

I'm using a base install of 10.7 for this guide. Other versions should be similar.

You'll want to install XCode, and the current CUDA toolkit. Once XCode is installed, go to preferences->downloads and install the command line tools.

Create a directory for the dependencies/etc. I'll be using ~/CHDev as min.e

Download boost - http://www.boost.org/ should be the starting point here.

cd CHDev
tar -xvf ~/Downloads/boost_1_51_0.tar.bz2
cd boost_1_51_0/
./bootstrap.sh
./b2 install --prefix=../ --without-mpi

Install cmake from http://www.cmake.org/cmake/resources/software.html - you'll get a dmg with an installer. Install it. You can install the command line tools if you want - I would recommend it.

Grab the protobuf libraries from http://code.google.com/p/protobuf/ - we'll install them in the same place.

cd CHDev
tar -xvjf ~/Downloads/protobuf-2.4.1.tar.bz2
cd protobuf-2.4.1/
./configure --prefix ~/CHDev/
make && make install


Check out the source tree:

svn co https://cryptohaze.svn.sourceforge.net/svnroot/cryptohaze/Cryptohaze-Combined Cryptohaze-Dev

Now, build argtable2:

cd ~/CHDev/Cryptohaze-Dev/dependencies/argtable2-13/
./configure --prefix=/Users/bitweasil/CHDev/
make && make install

Set up cmake

Launch cmake from Applications.

For the source: /Users/bitweasil/CHDev/Cryptohaze-Dev For the build: /Users/bitweasil/CHDev/Cryptohaze-Dev/build

Use your home directory, obviously...

Click "Configure" and use the Unix Makefile option for build files.

You'll need to add the following to cmake:

BOOST_ROOT = /Users/bitweasil/CHDev/boost_1_51_0 PROTOBUF_INCLUDE_DIR = /Users/bitweasil/CHDev/include/ PROTOBUF_LIBRARY = /Users/bitweasil/CHDev/lib/libprotobuf.a

Once it's happy, click "generate" and it should create you some build files.

Let's try building!

cd ~CHDev/Cryptohaze-Dev/build
make -j2
make install

Should work and binaries should be in build/bin for playing around with.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox