cross compile mpd for ARM on a x64 linux

Hi All,

I’d like to compile latest version of mpd on my much faster computer rather on raspberry pi 2 itself.

I’ve downloaded raspbian’s toolchain from github.com/raspberrypi/tools and I’ve added it to the PATH.
Then I’ve compiled raspberry version of boost lib [I followed this tutorial [raspberrypi.org/forums/view … 33&t=86084](https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=86084) ]

Then when I try to build mpd using aforementioned version of boost and arm compilers:

BOOST_ROOT=/home/vm/git/boost/boost_1_60_0/stage/lib make CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++
make  all-am
make[1]: Entering directory `/home/elec/git/mpd'
arm-linux-gnueabihf-g++ -DHAVE_CONFIG_H -I.  -DNDEBUG -I./src -I/usr/include -DSYSTEM_CONFIG_FILE_LOCATION='"/usr/local/etc/mpd.conf"'  -D_REENTRANT -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include     -D_GNU_SOURCE -std=gnu++0x -pthread -g -O2 -fvisibility=hidden -fno-threadsafe-statics -fmerge-all-constants -ffast-math -ftree-vectorize -ffunction-sections -fdata-sections -Wall -Wextra -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings -Wsign-compare -MT src/protocol/libmpd_a-Result.o -MD -MP -MF src/protocol/.deps/libmpd_a-Result.Tpo -c -o src/protocol/libmpd_a-Result.o `test -f 'src/protocol/Result.cxx' || echo './'`src/protocol/Result.cxx
In file included from /home/elec/git/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/include/c++/4.8.3/cstdlib:72:0,
                 from /home/elec/git/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/include/c++/4.8.3/ext/string_conversions.h:41,
                 from /home/elec/git/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/include/c++/4.8.3/bits/basic_string.h:2815,
                 from /home/elec/git/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/include/c++/4.8.3/string:52,
                 from ./src/client/ClientMessage.hxx:25,
                 from ./src/client/Client.hxx:24,
                 from src/protocol/Result.cxx:22:
/usr/include/stdlib.h:760:34: fatal error: bits/stdlib-bsearch.h: No such file or directory
 # include <bits/stdlib-bsearch.h>
                                  ^
compilation terminated.
make[1]: *** [src/protocol/libmpd_a-Result.o] Error 1
make[1]: Leaving directory `/home/elec/git/mpd'
make: *** [all] Error 2

Any ideas what I’m doing wrong?

The error indicates that a file cannot be found. So, either the path is wrong or the user you use does not have access to the location. Using LS, have you been able to locate the files?