As of 21nd December, 2014, Debian MultiArch Cross Tools seems be working only on Jessie, which is bata 2 release. Traditional Endebian environment seems no longer supported. After half a day trial, I could get a point to build rdkit for linux/armhf on amd64 debian Jessie.
I've tested this procedure on Debian Jessie 8.0.0 (official release), 8th May 2015 8.3, 7th Feb., 2016
Update for Debian 9 (streatch)
Debian CrossTools installation
Reference: https://wiki.debian.org/CrossToolchains
sudo apt-get install build-essential
sudo dpkg --add-architecture armhf
dpkg --print-foreign-architectures
sudo -i
echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources.list.d/crosstools.list
exit
As of 14th March 2015, I got error "Unmet dependenciy" while executing apt-get install crossbuild-essential-armhf, that was fixed by adding following line to sources.list)
sudo echo "deb http://ftp.debian.org/debian/ unstable main" >> /etc/apt/sources.list
sudo apt-get install curl
curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install crossbuild-essential-armhf
Install Boost-1.58 (cmake toolchain frendly)
Add your login accout to 'staff' group, which allows you to install cross libraries into /usr/local/ directory.
wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
tar xvf ./bzip2-1.0.6.tar.gz -C ~/src
Create ~/user-config.jam as;
cat << EOT > ~/user-config.jam
using gcc : arm : arm-linux-gnueabihf-g++-4.9 : <cxxflags>"-std=c++11 -fPIC" ;
using python : 2.7 ;
EOT
mkdir -p src/armhf; cd src/armhf
wget http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.bz2/download
tar xvf download
cd boost_1_58_0
./bootstrap.sh --prefix=/usr/local/arm-linux-gnueabihf/usr/local
./b2 toolset=gcc-arm -s BZIP2_SOURCE=~/src/bzip2-1.0.6 install
Toolchain.cmake file
Create "toolchain.cmake" as following;
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
# where is the target local environment
SET(CMAKE_FIND_ROOT_PATH /opt/local/arm-linux-gnueabihf)
# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY BOTH)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY BOTH)
RDKit
cd rdkit
export RDBASE=`pwd`
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchain.cmake ..
make -j4
make install
cp -rp ../Code/RDBoost /usr/local/arm-linux-gnueabihf/usr/local/include/rdkit