GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — `make sharedinstall` does not create lib-dynload in DESTDIR if lib-dynload exists in system already · Issue #100221 · python/cpython

make sharedinstall does not create lib-dynload in DESTDIR if lib-dynload exists in system already #100221

New issue
Copy link
New issue
Copy link
Closed
Closed
make sharedinstall does not create lib-dynload in DESTDIR if lib-dynload exists in system already#100221
Copy link
Labels
buildThe build process and cross-buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

Description

@mgorny
mgorny
opened on Dec 13, 2022
Issue body actions

Bug report

The Makefile.pre.in rule for creating directories is specified as:

$(DESTSHARED):
		@for i in $(DESTDIRS); \
		do \
			if test ! -d $(DESTDIR)$$i; then \
				echo "Creating directory $$i"; \
				$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
			else    true; \
			fi; \
		done

This means that if $(DESTSHARED) exists already (note: missing $(DESTDIR)!), i.e. Python 3.12 has been installed into the system, the directories in $(DESTDIR) won't be created and the successive sharedinstall rules fail due to the missing destination, e.g.:

/usr/bin/install -c -m 755 Modules/array.cpython-312-x86_64-linux-gnu.so /usr/lib/python3.12/lib-dynload/array.cpython-312-x86_64-linux-gnu.so
/usr/bin/install: cannot create regular file '/var/tmp/portage/dev-lang/python-3.12.0_alpha3/image/usr/lib/python3.12/lib-dynload/array.cpython-312-x86_64-linux-gnu.so': No such file or directory
/usr/bin/install -c -m 755 Modules/_asyncio.cpython-312-x86_64-linux-gnu.so /usr/lib/python3.12/lib-dynload/_asyncio.cpython-312-x86_64-linux-gnu.so
/usr/bin/install: cannot create regular file '/var/tmp/portage/dev-lang/python-3.12.0_alpha3/image/usr/lib/python3.12/lib-dynload/_asyncio.cpython-312-x86_64-linux-gnu.so': No such file or directory
/usr/bin/install -c -m 755 Modules/_bisect.cpython-312-x86_64-linux-gnu.so /usr/lib/python3.12/lib-dynload/_bisect.cpython-312-x86_64-linux-gnu.so
/usr/bin/install: cannot create regular file '/var/tmp/portage/dev-lang/python-3.12.0_alpha3/image/usr/lib/python3.12/lib-dynload/_bisect.cpython-312-x86_64-linux-gnu.so': No such file or directory

Full log: dev-lang:python-3.12.0_alpha3:20221207-142002.log

Your environment

  • CPython versions tested on: 3.12.0a3
  • Operating system and architecture: Gentoo Linux/amd64

Linked PRs

  • gh-100221: Fix creating dirs in make sharedinstall #100329

Activity

  1. mgorny
    added
    type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
    on Dec 13, 2022
  2. mgorny
    added a commit that references this issue on Dec 18, 2022

    pythongh-100221: Fix creating dirs in `make sharedinstall`

    de72019
  3. erlend-aasland
    added
    buildThe build process and cross-buildThe build process and cross-build
    on Jan 11, 2023
  4. miss-islington
    added a commit that references this issue on Feb 8, 2023

    gh-100221: Fix creating dirs in `make sharedinstall` (GH-100329)

    2a8bf25
  5. zware commented on Feb 8, 2023

    @zware
    zware
    on Feb 8, 2023
    Member
    More actions

    Is this only an issue on 3.12, or is 3.11 also affected?

  6. mgorny commented on Feb 8, 2023

    @mgorny
    mgorny
    on Feb 8, 2023
    ContributorAuthor
    More actions

    I think the relevant code technically exists in 3.11 too but it's not being used since setup.py is used to install the extensions.

  7. zware commented on Feb 8, 2023

    @zware
    zware
    on Feb 8, 2023
    Member
    More actions

    Ok, we'll leave 3.11 as is for now, then.

    Thanks for the patch!

    Reacted by Erlend E. Aasland
  8. zware
    closed this as completedon Feb 8, 2023
  9. carljm
    added a commit that references this issue on Feb 9, 2023

    Merge branch 'main' into inlinecomp2

    be3becc
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-buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.