On Jul 29, 2008, at 12:56 PM, Lupusoru, Razvan A wrote:
Hello,
I am trying to get Python 2.5.2 working for an IA32 system. The
compilation is done on an Ubuntu 8.04.1 dev system. I am using a
custom gcc and ld specific to the IA32 system.
This is my makefile:
##############################
BUILD_DEST = /i686-custom-kernel
CC = $(BUILD_DEST)/bin/i686-linux-gcc
CPP = $(CC) –E
CXX = $(BUILD_DEST)/bin/i686-linux-g++
LD = $(BUILD_DEST)/bin/i686-linux-ld
PYTHONINSTALLPATH = $(BUILD_DEST)/usr
Export
all:
tar xzfv Python-2.5.2.tgz
./Python-2.5.2/configure –prefix=$
{PYTHONINSTALLPATH} –host=i686-linux –enable-shared
cd Python-2.5.2
make
make install
##############################
Everything compiles correctly. I then copy the contents of the
$BUILD_DEST and put them on the hard drive for my IA32 system. I
basically use the contents of $BUILD_DEST as the root directory on
my IA32 system. Python seems to run correctly when I run it, but
when I do things like “import pysqlite”, it cannot find it. Is there
anything special I have to do to relocate my python (since on my
IA32 system it runs from /usr/bin/python but it originally gets
created in ${BUILD_DEST}/usr/bin/python)?
You'll want to pass configure the prefix where python will ultimately
be installed, otherwise the paths used during make won't make sense
on the destination system. That said, pysqlite is not part of the
stdlib, so your actual problem may have more to do with how you've
installed it then anything. When you run python once relocated, what
does os.path contain?
What we do for packaging, is run 'configure' normally and then 'make',
then override some make variables for 'make install' to temporarily
install it in a different place for package staging. It looks
something like this:
./configure && \
make && \
make BINDIR=$(shell pwd)/path/to/tmp/bin \
CONFINCLUDEDIR=$(shell pwd)/path/to/tmp/include \
INCLUDEDIR=$(shell pwd)/path/to/tmp/include \
LIBDIR=$(shell pwd)/path/to/tmp/lib \
MANDIR=$(shell pwd)/path/to/tmp/man \
SCRIPTDIR=$(shell pwd)/path/to/tmp/lib \
install
Then when the package is deployed, the files are actually installed
under the standard 'configure' prefix (/usr/local I think).
hth,
-Casey
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com