Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Compiling packages on the RaspberryPi can be quite slow and is prone to crash compilers with out of memory-errors. As such, it is preferable build executables and libraries for the RaspberryPi on more powerful machines, e.g. a desktop PC, with a crosscompiler. This page will help you set up a crosscompiling environment.
Getting the compilers (Ubuntu 12.04)
First, create a directory
raspbian-toolchain in your home directory. Change to that directory, and clone the official RaspberryPi toolchain repository:
mkdir $HOME/raspbian-toolchain cd $HOME/raspbian-toolchain git clone https://github.com/raspberrypi/tools.git
Into the directory
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian, place the
ToolchainRaspi.cmake file from https://gist.github.com/myeisha/306854d42a0b86a4d32b.
If you are running a 32bit system, the compiler is now ready to run. If you are running a 64bit system, you will have to install
export PATH=$HOME/raspbian-toolchain/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin:$PATH to add the toolchain to your path. The compiler is now ready to run.
Installing libraries into the toolchain
First, create the directory
opt in the toolchain root:
Create a temporary directory somewhere in your system. This guide will use
/tmp/tctemp. Change to that directory, place the
toolchain-init.sh file from https://gist.github.com/myeisha/306854d42a0b86a4d32b there and execute it:
mkdir /tmp/tctemp cd /tmp/tctemp # get toolchain-init.sh ./toolchain-init.sh
This will take a while. After the script has run, your toolchain will contain all required libraries to build hexabus binaries.
Building Hexabus package
First, place the file
cconf.sh from https://gist.github.com/myeisha/306854d42a0b86a4d32b somewhere in your system. Source the file into your shell. For any hexabus package you want to build, change into the appropriate directory and use the
cconf shell function to generate a configuration.
Most Hexabus packages will require arguments to the
-boost -openssl -json -curl -sqlite
- hexanode backend:
-boost -openssl -alsa -cppnet
cconf has run, simply run
make package to compile and build a
.deb package file. If you want to compile software that depends on what you just compiled, you will also have to run