[issue22699] cross-compilation of Python3.4

William Scullin report at bugs.python.org
Wed Aug 12 03:37:05 CEST 2015


William Scullin added the comment:

I thought this was originally a help request and was going to re-direct this. Cross-compile with 3.4.3 and later seems broken.

Procedure followed:

wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0rc1.tgz
tar -xf Python-3.5.0rc1.tgz
mkdir buildpowerpc64-linux-gnu
cd buildpowerpc64-linux-gnu
../Python-3.5.0rc1/configure \
--disable-shared \
--prefix=/local/soft/python/3.5.0rc1/powerpc64-linux-gnu/gcc-4.4.7
make
make install

# now for the actual cross-compile build

cd ..
mkdir buildpowerpc64-bgq-linux
export PYTHON_FOR_BUILD=/local/soft/python/3.5.0rc1/powerpc64-linux-gnu/gcc-4.4.7/bin/python3.5
../Python-3.5.0rc1/configure \
--host=powerpc64-bgq-linux \
--build=powerpc64-linux-gnu \
--disable-ipv6 \
--disable-shared \
ac_cv_pthread_system_supported=yes \
ac_cv_file__dev_ptmx=no \
ac_cv_file__dev_ptc=no \
ac_cv_big_endian_double=yes
make

which succeeds in building a cross-compiled interpreter, then fails to build modules as setup.py gets the srcdir wrong:

[wscullin at vestalac1 buildpowerpc64-bgq-linux]$ make
running build
running build_ext
building '_struct' extension
powerpc64-bgq-linux-gcc -fPIC -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -I../Python-3.5.0rc1/Include -I/local/soft/python/3.5.0rc1/powerpc64-linux-gnu
/gcc-4.4.7/include -I. -IInclude -I/usr/local/include -I/local/soft/python/3.5.0rc1/powerpc64-linux-gnu/gcc-4.4.7/include/python3.5m -c _struct.c -o build/temp.linux-ppc64-3.5/_struct.o
powerpc64-bgq-linux-gcc: _struct.c: No such file or directory
powerpc64-bgq-linux-gcc: no input files

----------
components: +Build, Cross-Build
versions: +Python 3.5

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue22699>
_______________________________________


More information about the Python-bugs-list mailing list