homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: "make sharedinstall" ignores ./configure settings
Type: behavior Stage: resolved
Components: Build Versions: Python 2.7
process
Status: closed Resolution: duplicate
Dependencies: Superseder: during Python installation, setup.py should not use .pydistutils.cfg
View: 4655
Assigned To: Nosy List: Michael.Kuhn, ned.deily
Priority: normal Keywords:

Created on 2013年02月19日 10:20 by Michael.Kuhn, last changed 2022年04月11日 14:57 by admin. This issue is now closed.

Messages (3)
msg182372 - (view) Author: Michael Kuhn (Michael.Kuhn) Date: 2013年02月19日 10:20
I need to install Python 2.7 in two architectures, but under one file system. I thus configure:
/home/cellnet/michaelk/SRC/Python-2.7.3> ./configure --prefix=/home/cellnet/michaelk/biocluster --exec-prefix=/home/cellnet/michaelk/biocluster -q
When I compile and then run "make install", it will try to copy libraries to "/home/cellnet/michaelk/lib64/python", i.e. it will try to copy files outside the specified prefixes. The step is "make sharedinstall", which fails because I've temporarily made the lib64 directory read-only: 
[michaelk@biocluster2] /home/cellnet/michaelk/SRC/Python-2.7.3> make sharedinstall
running build
running build_ext
building dbm using bdb
Python build finished, but the necessary bits to build these modules were not found:
bsddb185 dl gdbm 
imageop sunaudiodev 
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
running build_scripts
./python -E ./setup.py install \
 --prefix=/home/cellnet/michaelk/biocluster \
 --install-scripts=/home/cellnet/michaelk/biocluster/bin \
 --install-platlib=/home/cellnet/michaelk/biocluster/lib/python2.7/lib-dynload \
 --root=/
running install
running build
running build_ext
building dbm using bdb
Python build finished, but the necessary bits to build these modules were not found:
bsddb185 dl gdbm 
imageop sunaudiodev 
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
running build_scripts
running install_lib
copying build/lib.linux-x86_64-2.7/_ctypes.so -> /home/cellnet/michaelk/lib64/python
error: could not delete '/home/cellnet/michaelk/lib64/python/_ctypes.so': Permission denied
make: *** [sharedinstall] Error 1
msg182481 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2013年02月20日 08:50
Sorry, I'm unable to reproduce your results and they look rather suspicious. Keep in mind that the Python build uses its copy of Distutils to build and install the interpreter's shared extension modules, like _ctypes.so. My guess is that your "make install" is being influenced by settings in a Distutils configuration file, such as ~/.pydistutils.cfg. If so, this is a duplicate of Issue4655.
http://docs.python.org/2/install/index.html#distutils-configuration-files 
msg182484 - (view) Author: Michael Kuhn (Michael.Kuhn) Date: 2013年02月20日 09:13
Thanks a lot Ned: you're right, the unexpected path was indeed set in ~/.pydistutils.cfg. So I agree with what has been written in the other issues, that the installation should detect the clash between the command line configuration and the configuration file to alert the unsuspecting user.
History
Date User Action Args
2022年04月11日 14:57:41adminsetgithub: 61437
2013年02月20日 09:13:53Michael.Kuhnsetstatus: pending -> closed

messages: + msg182484
2013年02月20日 08:50:44ned.deilysetstatus: open -> pending

superseder: during Python installation, setup.py should not use .pydistutils.cfg

nosy: + ned.deily
messages: + msg182481
resolution: duplicate
stage: resolved
2013年02月19日 10:20:25Michael.Kuhncreate

AltStyle によって変換されたページ (->オリジナル) /