Fix get_python_inc() for cross-compilation When we are cross compiling, doing os.path.dirname(sys.executable) to get the build directory is incorrect, because we're executing the host Python to build things for the target. Instead, we should use the project_base variable. This fixes cross-compilation, which was adding incorrect header paths pointing to the location where the host Python was built: /home/thomas/projets/buildroot/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fPIC -fno-strict-aliasing \ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -DNDEBUG -g -O3 -Wall -Wstrict-prototypes \ -I/usr/include -I. -IInclude -I./Include -I/home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include \ -I/home/thomas/projets/buildroot/output/host/usr/bin/Include -I/home/thomas/projets/buildroot/output/host/usr/bin \ -c /home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.c \ -o build/temp.linux2-arm-2.7/home/thomas/projets/buildroot/output/build/python-2.7.6/Modules/_struct.o This patch allows to fix the /home/thomas/projets/buildroot/output/host/usr/bin/Include and /home/thomas/projets/buildroot/output/host/usr/bin paths that are incorrectly added to the header paths. Signed-off-by: Thomas Petazzoni Index: b/Lib/distutils/sysconfig.py =================================================================== --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py @@ -79,7 +79,7 @@ if os.name == "posix": if python_build: - buildir = os.path.dirname(sys.executable) + buildir = project_base if plat_specific: # python.h is located in the buildir inc_dir = buildir