Problems building Python from hg trunk on Open SUSE

S

Skip Montanaro

I haven't messed around with Python 3 recently, so decided to give it
a whirl again. I cloned the trunk (cpython) and set about it. This
is on an OpenSUSE 12.1 system. I configured like so:

./configure --prefix=/home/skipm/.linux-local

and ran the usual "make ; make install".

I'm a bit perplexed about how it is installed. Instead of installing
shared objects in

/home/skipm/.linux-local/lib/python3.4/lib-dynload

they were installed in

/home/skipm/.linux-local/lib64/python3.4/lib-dynload

(note the "lib64" vs. "lib"). This would be fine, except sys.path
doesn't include the "lib64" version of this path:

% PYTHONPATH= PYTHONSTARTUP= ~/.linux-local/bin/python3.4 -S
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 3.4.0a0 (default:26200f535296, Oct 3 2012, 12:48:07)
[GCC 4.4.6 [TWW]] on linux['', '', '/home/skipm/.linux-local/lib/python34.zip',
'/home/skipm/.linux-local/lib/python3.4/',
'/home/skipm/.linux-local/lib/python3.4/plat-linux',
'/home/skipm/.linux-local/lib/lib-dynload']

I see the message about setting PYTHONHOME. (That happens to be bad
advice as sys.prefix and sys.exec_prefix are identical in this case.)
What I don't understand is why directories containing "lib64" are not
in sys.path by default, given that that's where "make install" put
things.

GCC is as delivered by The Written Word. (This is a work computer.
The powers that be settled on TWW awhile ago for packaging all open
source software we use on Linux and Solaris, thus removing a headache
from our support staff.) It is:

% gcc --version
gcc (GCC) 4.4.6 [TWW]
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

The architecture looks like this:

% uname -a
Linux udesktop264 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45
UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux

I don't see anything in the output of "./configure --help" which
relates to 64-bit install directories, though I do see some lines in
config.log about guessing the architecture. Some cursory googling
didn't turn up any promising web pages, and I didn't find anything in
the various documentation files in the repo related to building
Python.

Any suggestions about how to resolve this would be appreciated.

Thx,

Skip
 
8

88888 Dihedral

Skip Montanaroæ–¼ 2012å¹´10月6日星期六UTC+8上åˆ8時25分06秒寫é“:
I haven't messed around with Python 3 recently, so decided to give it

a whirl again. I cloned the trunk (cpython) and set about it. This

is on an OpenSUSE 12.1 system. I configured like so:



./configure --prefix=/home/skipm/.linux-local



and ran the usual "make ; make install".



I'm a bit perplexed about how it is installed. Instead of installing

shared objects in



/home/skipm/.linux-local/lib/python3.4/lib-dynload



they were installed in



/home/skipm/.linux-local/lib64/python3.4/lib-dynload



(note the "lib64" vs. "lib"). This would be fine, except sys.path

doesn't include the "lib64" version of this path:



% PYTHONPATH= PYTHONSTARTUP= ~/.linux-local/bin/python3.4 -S

Could not find platform dependent libraries <exec_prefix>

Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]

Python 3.4.0a0 (default:26200f535296, Oct 3 2012, 12:48:07)

[GCC 4.4.6 [TWW]] on linux

['', '', '/home/skipm/.linux-local/lib/python34.zip',

'/home/skipm/.linux-local/lib/python3.4/',

'/home/skipm/.linux-local/lib/python3.4/plat-linux',

'/home/skipm/.linux-local/lib/lib-dynload']



I see the message about setting PYTHONHOME. (That happens to be bad

advice as sys.prefix and sys.exec_prefix are identical in this case.)

What I don't understand is why directories containing "lib64" are not

in sys.path by default, given that that's where "make install" put

things.



GCC is as delivered by The Written Word. (This is a work computer.

The powers that be settled on TWW awhile ago for packaging all open

source software we use on Linux and Solaris, thus removing a headache

from our support staff.) It is:



% gcc --version

gcc (GCC) 4.4.6 [TWW]

Copyright (C) 2010 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



The architecture looks like this:



% uname -a

Linux udesktop264 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45

UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux



I don't see anything in the output of "./configure --help" which

relates to 64-bit install directories, though I do see some lines in

config.log about guessing the architecture. Some cursory googling

didn't turn up any promising web pages, and I didn't find anything in

the various documentation files in the repo related to building

Python.



Any suggestions about how to resolve this would be appreciated.



Thx,



Skip

I am waiting for JYTHON and IRON PYTHON to be upgraded.
 
8

88888 Dihedral

Skip Montanaroæ–¼ 2012å¹´10月6日星期六UTC+8上åˆ8時25分06秒寫é“:
I haven't messed around with Python 3 recently, so decided to give it

a whirl again. I cloned the trunk (cpython) and set about it. This

is on an OpenSUSE 12.1 system. I configured like so:



./configure --prefix=/home/skipm/.linux-local



and ran the usual "make ; make install".



I'm a bit perplexed about how it is installed. Instead of installing

shared objects in



/home/skipm/.linux-local/lib/python3.4/lib-dynload



they were installed in



/home/skipm/.linux-local/lib64/python3.4/lib-dynload



(note the "lib64" vs. "lib"). This would be fine, except sys.path

doesn't include the "lib64" version of this path:



% PYTHONPATH= PYTHONSTARTUP= ~/.linux-local/bin/python3.4 -S

Could not find platform dependent libraries <exec_prefix>

Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]

Python 3.4.0a0 (default:26200f535296, Oct 3 2012, 12:48:07)

[GCC 4.4.6 [TWW]] on linux

['', '', '/home/skipm/.linux-local/lib/python34.zip',

'/home/skipm/.linux-local/lib/python3.4/',

'/home/skipm/.linux-local/lib/python3.4/plat-linux',

'/home/skipm/.linux-local/lib/lib-dynload']



I see the message about setting PYTHONHOME. (That happens to be bad

advice as sys.prefix and sys.exec_prefix are identical in this case.)

What I don't understand is why directories containing "lib64" are not

in sys.path by default, given that that's where "make install" put

things.



GCC is as delivered by The Written Word. (This is a work computer.

The powers that be settled on TWW awhile ago for packaging all open

source software we use on Linux and Solaris, thus removing a headache

from our support staff.) It is:



% gcc --version

gcc (GCC) 4.4.6 [TWW]

Copyright (C) 2010 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



The architecture looks like this:



% uname -a

Linux udesktop264 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45

UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux



I don't see anything in the output of "./configure --help" which

relates to 64-bit install directories, though I do see some lines in

config.log about guessing the architecture. Some cursory googling

didn't turn up any promising web pages, and I didn't find anything in

the various documentation files in the repo related to building

Python.



Any suggestions about how to resolve this would be appreciated.



Thx,



Skip

I am waiting for JYTHON and IRON PYTHON to be upgraded.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,046
Latest member
Gavizuho

Latest Threads

Top