Created on 2013-02-19 10:20 by Michael.Kuhn, last changed 2013-02-20 09:13 by Michael.Kuhn. This issue is now closed.
|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) *||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.
|2013-02-20 09:13:53||Michael.Kuhn||set||status: pending -> closed|
messages: + msg182484
|2013-02-20 08:50:44||ned.deily||set||status: open -> pending|
superseder: during Python installation, setup.py should not use .pydistutils.cfg
nosy: + ned.deily
messages: + msg182481