- English
- 日本語
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)
Reference: https://wiki.debian.org/CrossToolchains
sudo apt-get install build-essential sudo dpkg --add-architecture armhf dpkg --print-foreign-architecturessudo -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
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
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_LIBRARYONLYBOTH) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDEONLYBOTH)
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