Skip to content

"make sharedinstall" ignores ./configure settings #61437

Closed

Description

@MichaelKuhn
BPO 17235
Nosy @ned-deily
Superseder
  • bpo-4655: during Python installation, setup.py should not use .pydistutils.cfg
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2013-02-20.09:13:53.275>
    created_at = <Date 2013-02-19.10:20:25.741>
    labels = ['type-bug', 'build']
    title = '"make sharedinstall" ignores ./configure settings'
    updated_at = <Date 2013-02-20.09:13:53.273>
    user = 'https://bugs.python.org/MichaelKuhn'

    bugs.python.org fields:

    activity = <Date 2013-02-20.09:13:53.273>
    actor = 'Michael.Kuhn'
    assignee = 'none'
    closed = True
    closed_date = <Date 2013-02-20.09:13:53.275>
    closer = 'Michael.Kuhn'
    components = ['Build']
    creation = <Date 2013-02-19.10:20:25.741>
    creator = 'Michael.Kuhn'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 17235
    keywords = []
    message_count = 3.0
    messages = ['182372', '182481', '182484']
    nosy_count = 2.0
    nosy_names = ['ned.deily', 'Michael.Kuhn']
    pr_nums = []
    priority = 'normal'
    resolution = 'duplicate'
    stage = 'resolved'
    status = 'closed'
    superseder = '4655'
    type = 'behavior'
    url = 'https://bugs.python.org/issue17235'
    versions = ['Python 2.7']

    Activity

    1. MichaelKuhn commented on Feb 19, 2013

      MichaelKuhnmannequin
      MannequinAuthor

      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

    2. added
      buildThe build process and cross-build
      type-bugAn unexpected behavior, bug, or error
      on Feb 19, 2013
    3. ned-deily commented on Feb 20, 2013

      @ned-deily
      Member

      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 bpo-4655.

      http://docs.python.org/2/install/index.html#distutils-configuration-files

    4. MichaelKuhn commented on Feb 20, 2013

      MichaelKuhnmannequin
      MannequinAuthor

      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.

    5. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or error

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions