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 — makesetup can fail on macOS and uses wrong CFLAGS · Issue #94404 · python/cpython

makesetup can fail on macOS and uses wrong CFLAGS #94404

New issue
Copy link
New issue
Copy link
Closed
Closed
makesetup can fail on macOS and uses wrong CFLAGS#94404
Copy link
Labels
3.11only security fixesonly security fixes3.12only security fixesonly security fixesbuildThe build process and cross-buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

Description

@tiran
tiran
opened on Jun 29, 2022
Issue body actions

Bug report

The script Modules/makesetup has two issues

  1. It uses sed i command with multiple escapes newlines. The feature works fine in GNU sed but does not work correctly with macOS' BSD sed. @ned-deily found a workaround for the problem. The r command with an external replacement file works correctly on GNU and BSD sed.

  2. makesetup creates wrong compile rules for object files that end up in a shared library. The variables $(CCSHARED) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) are missing some flags like address sanitizer. The script should create rules with $(PY_STDMODULE_CFLAGS) $(CCSHARED) instead.

  3. the order of cflags can break builds. For example macOS ARM64 builds are broken because -I./Modules/_decimal/libmpdec comes after -I/opt/homebrew/include and the buildbot seems to come with an incompatible libmpdec header. Module-specific CFLAGs should come before Python CFLAGs. It is probably easier to move module CFLAGS before PY_STDMODULE_CFLAGS. The homebrew flag comes from PY_CPPFLAGS and CONFIGURE_CPPFLAGS.

Activity

  1. tiran
    added
    type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
    buildThe build process and cross-buildThe build process and cross-build
    3.11only security fixesonly security fixes
    3.12only security fixesonly security fixes
    on Jun 29, 2022
  2. tiran
    added 2 commits that reference this issue on Jun 29, 2022

    pythongh-94404: makesetup: use correct CFLAGS and macOS workaround

    10acb92

    gh-94404: makesetup: use correct CFLAGS and macOS workaround (GH-94405)

    5150cbc
  3. miss-islington
    added 2 commits that reference this issue on Jun 29, 2022

    pythongh-94404: makesetup: use correct CFLAGS and macOS workaround (p…

    d54afdf

    gh-94404: makesetup: use correct CFLAGS and macOS workaround (GH-94405)

    aaa85b5
  4. tiran
    added 4 commits that reference this issue on Jun 29, 2022

    pythongh-94404: Use module CFLAGS before PY_STDMODULE_CFLAGS

    78cb92f

    gh-94404: Use module CFLAGS before PY_STDMODULE_CFLAGS (GH-94413)

    6485c3c

    [3.11] pythongh-94404: Use module CFLAGS before PY_STDMODULE_CFLAGS (p…

    22491a6

    [3.11] gh-94404: Use module CFLAGS before PY_STDMODULE_CFLAGS (GH-94413…

    a548a45
  5. gvanrossum
    added 2 commits that reference this issue on Jun 30, 2022

    pythongh-94404: makesetup: use correct CFLAGS and macOS workaround (p…

    bf43498

    pythongh-94404: Use module CFLAGS before PY_STDMODULE_CFLAGS (pythonG…

    6e77150
  6. tiran
    closed this as completedon Jul 4, 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

    3.11only security fixesonly security fixes3.12only security fixesonly security fixesbuildThe 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.