[Python-Dev] python3 k1om dissociation permanence (original) (raw)
ƦOB COASTN robertpancoast77 at gmail.com
Fri Jan 22 14:56:37 EST 2016
- Previous message (by thread): [Python-Dev] Devguide: Add a table summarizing status of Python branches
- Next message (by thread): [Python-Dev] python3 k1om dissociation permanence
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello,
Enabling the build system for Intel MIC k1om is non-trivial using Python-3.4.4 Using Python2 for the k1om is very popular, but I require Python3 support on k1om.
The first requirement to complete this build involved the download and extraction of pre-built MPSS RPM's. Then built required host python bins using GCC. Lastly, build MIC bins using ICC. The exacts are appended to the end of this message.
I would like to discuss a few change requirements that trial and error has revealed.
1.) libffi requires the University OF Cantabria patch because the k1om is not binary compatible with x86_64. [attached]
These libffi changes could be implemented using the MIC or KNC macros. *see https://software.intel.com/en-us/node/514528
2.) ./configure script halts during failure to locate readelf for the host.
I simply commented out these lines in the ./configure file: #if test "$cross_compiling" = yes; then #case "$READELF" in #readelf|:) #as_fn_error $? "readelf for the host is required for cross builds" "$LINENO" 5 #;; #esac #fi
Ideally, ./configure would support ICC and k1om. Am I missing something in the configure/make commands below? Is it possible to bypass the readelf requirement when cross-compiling for k1om?
Additionally, are any of the command line parameters below unnecessary? PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PYTHON_FOR_BUILD _PYTHON_HOST_PLATFORM HOSTPGEN HOSTARCH BUILDARCH
Thanks, Rob
#copy/unpack the k1om bins tarball cd /home/ wget mpss-3.4.6-k1om.tar tar xvf mpss-3.4.6-k1om.tar cd /home/mpss-3.4.6/k1om/ for rpm in *.rpm; do rpm2cpio $rpm | cpio -idm; done
#vars PythonVersion=Python-3.4.4 k1om_rpm=/home/mpss-3.4.6/k1om/ INSTALLPREFIX=/home/Python/release/$PythonVersion-mic SRC=/home/Python/$PythonVersion
echo "Compiling host Python" cd $SRC && make distclean cd $SRC && ./configure cd $SRC && make python Parser/pgen rm -f $SRC/hostpython mv SRC/pythonSRC/python SRC/pythonSRC/hostpython rm -f $SRC/Parser/hostpgen mv SRC/Parser/pgenSRC/Parser/pgen SRC/Parser/pgenSRC/Parser/hostpgen cd $SRC && make distclean
echo "Configuring Python for MIC..."
cd $SRC && CONFIG_SITE=config.site
./configure
CC="icc -mmic"
CFLAGS="-I$k1om_rpm/include -I$k1om_rpm/usr/include -wd10006"
CXX="icpc -mmic"
CPPFLAGS="-I$k1om_rpm/include -I$k1om_rpm/usr/include -wd10006"
PKG_CONFIG_LIBDIR="$k1om_rpm/usr/lib64/pkgconfig"
PKG_CONFIG_PATH="$k1om_rpm/usr/lib64/pkgconfig"
--host=x86_64-k1om-linux
--build=x86_64-linux-gnu
--with-cxx-main="icpc -mmic"
--disable-ipv6
echo "done"
echo "Compiling Python for MIC..."
cd $SRC && make
PYTHON_FOR_BUILD=./hostpython
_PYTHON_HOST_PLATFORM=x86_64-k1om-linux
HOSTPGEN=./Parser/hostpgen
HOSTARCH=x86_64-k1om-linux
BUILDARCH=x86_64-linux-gnu
EXTRA_CFLAGS="-fp-model precise -shared -fPIC"
LDFLAGS="-L$k1om_rpm/lib64 -L$k1om_rpm/usr/lib64"
echo "done"
echo "Installing Python for MIC"
mkdir -p $INSTALLPREFIX
cd $SRC && make install
PYTHON_FOR_BUILD=./hostpython
_PYTHON_HOST_PLATFORM=x86_64-k1om-linux
prefix=$INSTALLPREFIX
echo "done"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-k1om-libffi.patch
Type: application/octet-stream
Size: 18705 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-dev/attachments/20160122/693e9b7d/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-READELF.patch
Type: application/octet-stream
Size: 790 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-dev/attachments/20160122/693e9b7d/attachment-0001.obj>
- Previous message (by thread): [Python-Dev] Devguide: Add a table summarizing status of Python branches
- Next message (by thread): [Python-Dev] python3 k1om dissociation permanence
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]