Hi everyone,
Just wanted to report that I got Machinekit to successfully cross-compile 
through a Debian Stretch debootstrap. It seems that the latest multiarch 
support in stretch is good enough that (most) of the armhf libraries 
installed correctly. This doesn't require qemu, so it takes a fraction of 
the time to build. I was searching for more instructions on how to do a 
cross-compile build, and came across this thread: 
https://groups.google.com/forum/#!topic/machinekit/HWS807SS8ks which 
requested a PR -- let me know if that's still preferred.

This is partially for my own benefit, but here's a short summary of the 
commands I used to get it to work:
sudo debootstrap --components=main,contrib,non-free stretch {DEST_FOLDER} 
http://deb.debian.org/debian/

I configured schroot to launch the system:
cat <<EOF > /etc/schroot/chroot.d/amd64-stretch
[amd64-stretch]
description=Debian Stretch (amd64)
directory={DEST_FOLDER}
root-users={USERNAME}
users={USERNAME}
type=directory
EOF
schroot -s amd64-stretch

Once inside, I configured multiarch and installed some basic packages:
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf cython 
pkg-config autoconf git libczmq-dev:armhf
git pull https://github.com/machinekit/machinekit.git
cd machinekit/src/
./autogen.sh
PKG_CONFIG_PATH="/usr/lib/arm-linux-gnueabihf/pkgconfig/" ./configure 
--with-platform-beaglebone --host arm-linux-gnueabihf

Now the great dependency hunt begins -- basically just run the configure 
line, and install the :armhf version of whatever library it complains 
about. I can put together a more comprehensive list if requested. 

The only library that requires special treatment is libboost-python-dev. If 
you try to install the :armhf version of that library, it tries to replace 
python with the armhf version, which will break the system. I went ahead 
and just directly extracted only the contents of 
/usr/lib/arm-linux-gnueabihf/ from 
http://ftp.us.debian.org/debian/pool/main/b/boost1.62/libboost-python1.62.0_1.62.0+dfsg-4_armhf.deb
 
and 
http://ftp.us.debian.org/debian/pool/main/b/boost1.62/libboost-python1.62-dev_1.62.0+dfsg-4_armhf.deb

I'm pretty sure I have a working armhf build -- I haven't had a chance to 
run it on target yet because I need to figure out how to package it 
(currently still in the RIP environment).

-- 
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- 
You received this message because you are subscribed to the Google Groups 
"Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to