Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3.8 doesn't build on 11.0 #56791

Closed
4 tasks done
mistydemeo opened this issue Jun 24, 2020 · 12 comments · Fixed by #56880
Closed
4 tasks done

Python 3.8 doesn't build on 11.0 #56791

mistydemeo opened this issue Jun 24, 2020 · 12 comments · Fixed by #56880
Labels
11 Big Sur is specifically affected build failure CI fails while building the software outdated PR was locked due to age

Comments

@mistydemeo
Copy link
Member

mistydemeo commented Jun 24, 2020

  • ran brew update and can still reproduce the problem?
  • ran brew doctor, fixed all issues and can still reproduce the problem?
  • ran brew gist-logs <formula> (where <formula> is the name of the formula that failed) and included the output link?
  • if brew gist-logs didn't work: ran brew config and brew doctor and included their output with your issue?

What you were trying to do (and why)

python@3.8 was in the dependency tree of software I was installing, but failed to build from source on Big Sur.

What happened (include command output)

Installation fails; logs here: https://gist.github.com/mistydemeo/658ea7401c00b2b8dccee9f067ac2c0e

Specifically, the error is here:

clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.16.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.16.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.16.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers   -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration  -I./Include/internal  -I. -I./Include    -DPy_BUILD_CORE_BUILTIN  -DPy_BUILD_CORE_BUILTIN -I./Include/internal -c ./Modules/posixmodule.c -o Modules/posixmodule.o
./Modules/posixmodule.c:9141:20: error: variable has incomplete type 'struct sf_hdtr'
    struct sf_hdtr sf;
                   ^
./Modules/posixmodule.c:9141:12: note: forward declaration of 'struct sf_hdtr'
    struct sf_hdtr sf;
           ^
1 error generated.

This happened on macOS 11.0 beta 1 for Intel using the CLT.

What you expected to happen

Build succeeds.

Step-by-step reproduction instructions (by running brew install commands)

  1. brew install python@3.8
@mistydemeo mistydemeo added build failure CI fails while building the software 11 Big Sur is specifically affected labels Jun 24, 2020
@soheil
Copy link

soheil commented Jun 24, 2020

This is also causing brew install node to fail since python 3.8 is a dependency.

soheil added a commit to soheil/homebrew-core that referenced this issue Jun 24, 2020
Uses the default python3 currently installed on the system since the current pre-release OSXI (Big Sur) does not build `python 3.8`, see Homebrew#56791
@soheil
Copy link

soheil commented Jun 24, 2020

PR to remove python 3.8 dependency for node #56795

@claui
Copy link
Contributor

claui commented Jun 24, 2020

A little info about struct sf_hdtr: man sendfile

@goranmoomin
Copy link
Contributor

In fact, this applies to usual python as well.

@Bo98
Copy link
Member

Bo98 commented Jun 24, 2020

This is being handled upstream. It's still early days of the beta.

@claui
Copy link
Contributor

claui commented Jun 24, 2020

This is being handled upstream.

@Bo98 Are you referring to python/cpython#21113?

@Bo98
Copy link
Member

Bo98 commented Jun 24, 2020

Ah yes. I wasn't aware that the pull request had already been created so I didn't have anything to link.

That indeed should fix the issue.

@ndaemy
Copy link

ndaemy commented Jun 24, 2020

Is there any way to fix this problem temporary?

@claui
Copy link
Contributor

claui commented Jun 24, 2020

Is there any way to fix this problem temporary?

Nothing that Homebrew would be able to support.
I’m afraid you’re on your own here. But as @Bo98 said: please remember that macOS BS is in a very early beta.
Issues like the one at hand are to be expected.

@Bo98
Copy link
Member

Bo98 commented Jun 24, 2020

If you have Homebrew installed to /usr/local, then the existing Catalina bottles can be used and thus you do not need to worry about the build issues.

We may apply upstream's patch to the formula once it is merged.

But please try to get used to there being issues in the Big Sur betas. Python is not the only thing broken (CMake is another, for example) and we already know that there will be further breakages as the betas progress (such as 10.16 becoming 11.0).

@mistydemeo
Copy link
Member Author

Can confirm that PR will fix it; I'll backport that to us once it's merged upstream, but we can hold out until then.

@Bo98
Copy link
Member

Bo98 commented Jun 25, 2020

The patch managed to just sneak in to 3.7.8 which will be released in the next few days.

We can apply python/cpython#21154 for 3.8 until 3.8.4 releases in mid-July.

Bo98 pushed a commit that referenced this issue Jun 26, 2020
As suggested [1], applying the upstream patch for now, as the next
minor release isn’t to be expected until mid-July.

This patch is to be removed from the formula once 3.8.4 is released.

Closes #56791.

[1]: #56791

Suggested-by: CC: Bo Anderson <mail@boanderson.me>
@BrewTestBot BrewTestBot added the outdated PR was locked due to age label Dec 1, 2020
@Homebrew Homebrew locked as resolved and limited conversation to collaborators Dec 1, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
11 Big Sur is specifically affected build failure CI fails while building the software outdated PR was locked due to age
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants