Difference between revisions of "Python"
From CBLFS
Jump to navigationJump to search (I added a note about the test suite.) |
(→64Bit) |
||
Line 122: | Line 122: | ||
cat > /usr/include/python{{Python-Version}}/pyconfig.h << "EOF" | cat > /usr/include/python{{Python-Version}}/pyconfig.h << "EOF" | ||
− | /* pyconfig.h | + | /* pyconfig.h - Stub Header */ |
#ifndef __STUB__PYCONFIG_H__ | #ifndef __STUB__PYCONFIG_H__ | ||
#define __STUB__PYCONFIG_H__ | #define __STUB__PYCONFIG_H__ | ||
Line 142: | Line 142: | ||
cat > /usr/include/python{{Python-Version}}/pyconfig.h << "EOF" | cat > /usr/include/python{{Python-Version}}/pyconfig.h << "EOF" | ||
− | /* pyconfig.h | + | /* pyconfig.h - Stub Header */ |
#ifndef __STUB__PYCONFIG_H__ | #ifndef __STUB__PYCONFIG_H__ | ||
#define __STUB__PYCONFIG_H__ | #define __STUB__PYCONFIG_H__ |
Revision as of 11:03, 26 December 2006
Download Source: | http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.bz2 |
---|---|
Required Patch: | http://svn.cross-lfs.org/svn/repos/patches/Python/Python-2.7.8-gdbm-1.patch |
Required Patch (For Multilib): | http://svn.cross-lfs.org/svn/repos/patches/Python/Python-2.7.8-multilib-1.patch |
Contents
Introduction to Python
The Python package contains the Python development environment. This is useful for object-oriented programming, writing scripts, prototyping large programs or developing entire applications.
Dependencies
Optional
Non-Multilib
Note: It appears that if you want to run the test suites (make test), you need to install the package first, otherwise it is unable to locate the appropriate python modules to run the tests.
Compile the package:
patch -Np1 -i ../Python-2.7.8-gdbm-1.patch && ./configure --prefix=/usr --enable-shared && make
Install the package
make install
Multilib
32Bit
Compile the package:
patch -Np1 -i ../Python-2.7.8-gdbm-1.patch && CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" ./configure --prefix=/usr \ --enable-shared && make
Install the package
make install && mv -v /usr/bin/python{,-32} && mv -v /usr/bin/python2.7.8{,-32} && mv -v /usr/include/python2.7.8/pyconfig{,-32}.h
N32
Change the libdir that Python is going to use to lib32:
patch -Np1 -i ../Python-2.7.8-multilib-1.patch sed -i -e "s:@@MULTILIB_DIR@@:lib32:g" \ Lib/distutils/command/install.py \ Lib/distutils/sysconfig.py \ Lib/site.py \ Makefile.pre.in \ Modules/Setup.dist \ Modules/getpath.c \ setup.py
Compile the package:
patch -Np1 -i ../Python-2.7.8-gdbm-1.patch && CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" ./configure --prefix=/usr \ --libdir=/usr/lib32 --enable-shared && make
Install the package
make install && mv -v /usr/bin/python{,-n32} && mv -v /usr/bin/python2.7.8{,-n32} && mv -v /usr/include/python2.7.8/pyconfig{,-n32}.h
64Bit
Change the libdir that Python is going to use to lib64:
patch -Np1 -i ../Python-2.7.8-multilib-1.patch sed -i -e "s:@@MULTILIB_DIR@@:lib64:g" \ Lib/distutils/command/install.py \ Lib/distutils/sysconfig.py \ Lib/site.py \ Makefile.pre.in \ Modules/Setup.dist \ Modules/getpath.c \ setup.py
Compile the package:
patch -Np1 -i ../Python-2.7.8-gdbm-1.patch && CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" ./configure --prefix=/usr \ --libdir=/usr/lib64 --enable-shared && make
Install the package
make install && mv -v /usr/bin/python{,-64} && mv -v /usr/bin/python2.7.8{,-64} && ln -sfv multiarch_wrapper /usr/bin/python && ln -sfv multiarch_wrapper /usr/bin/python2.4 && mv -v /usr/include/python2.7.8/pyconfig{,-64}.h
Creating a Stub Header
cat > /usr/include/python2.7.8/pyconfig.h << "EOF" /* pyconfig.h - Stub Header */ #ifndef __STUB__PYCONFIG_H__ #define __STUB__PYCONFIG_H__ #if defined(__x86_64) || \ defined(__sparc64__) || \ defined(__arch64__) || \ defined(__powerpc64__) || \ defined (__s390x__) # include "pyconfig-64.h" #else # include "pyconfig-32.h" #endif #endif /* __STUB__PYCONFIG_H__ */ EOF
Creating a Stub Header For Mips
cat > /usr/include/python2.7.8/pyconfig.h << "EOF" /* pyconfig.h - Stub Header */ #ifndef __STUB__PYCONFIG_H__ #define __STUB__PYCONFIG_H__ #include <sgidefs.h> #if (_MIPS_SIM == _ABIO32) # include "pyconfig-32.h" #elif (_MIPS_SIM == _ABIN32) # include "pyconfig-n32.h" #elif (_MIPS_SIM == _ABI64) # include "pyconfig-64.h" #endif #endif /* __STUB__PYCONFIG_H__ */ EOF