GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||
GeezerVison is showing github.com — gh-104523: Use dynamic rule for compiling libmpdec and libexpat by indygreg · Pull Request #104574 · python/cpython Conversation
|
|
cc. also @ned-deily who has opinions about the build process. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
FWIW I have a follow-up change to the module freezing code that is a net -100 lines on the diff which uses a similar approach to reduce make boilerplate and redundancy. That one more clearly demonstrates value in the general pattern than this one. But the justifications are basically the same. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Is this really more portable than the pattern rule approach? It's certainly more cryptic :) In these particular cases, I'd personally like to work towards getting This looks reasonable enough to try it on the buildbots, at least. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @zware for commit 44eda25 🤖 If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
The buildbot failures don't look related to this change. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
@zware, it looks like the FreeBSD buildbot build didn't or hasn't run yet? I think this is the relevant buildrequest. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
That worker has apparently been down for about 4 months now, though I can't tell at a glance if the fault lies on the client or server side (@koobs?) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
IMO, we should wait for 3.13 to open before landing this. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I didn't realize we were only days away from the end of the 3.12 new features window. I guess I'm so used to Rust and its 6 week release cadence. Anyway, yes, I'm fine waiting until the 3.13 window to land more invasive build system changes. (Not like I have much choice in the matter.) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@indygreg: How does this fare on BSD Make? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
On my FreeBSD, I can no longer build Python :-( I have; |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Could you build it on FreeBSD before this PR? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry. I mean: currently, on the main branch of Python (without this PR), I can no longer build Python :-( |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Aha, so this PR does not change the status quo! I suspected that. I guess we should clarify if was want to restore BSD Make compatibility, or carry on with GNU Make only. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Please fix building Python on FreeBSD before making the situation worse. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Sadly, the maintainer of our two FreBSD decided to remove them. Right now, there is no FreeBSD CI. We should consider CirrusCI. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I tested FreeBSD again, and I'm sorry, I didn't test make correctly previously.
This PR introduces these issues in Makefile: Surprise, surprise, it's the "non portable" part of this PR which introduces the issue. Like: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
While it's appealing to use cool GNU make features to make the Makefile shorter, I don't think that it's worth it if in exchange we break FreeBSD support.
FreeBSD is a Tier-3 platform: https://peps.python.org/pep-0011/
Is there another command which is compatible with GNU make and bsdmake?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase And if you don't make the requested changes, you will be put in the comfy chair! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@erlend-aasland: Is this change worth it if it breaks FreeBSD support? Should we just close it? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @erlend-aasland for commit 444a7c1 🤖 The command will test the builders whose names match following regular expression: The builders matched are:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
If it breaks FreeBSD support it is not worth it. There might be a more portable approach, though. cc. @indygreg |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Do you expect that FreeBSD buildbot will behave differently than my previous manual test? The PR didn't change in the meanwhile.
I'm fine with any syntax as soon as it works on all platforms supported by Python ;-) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Oh, I forgot you already tested this! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Fail to build: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
There’s a gmake port on FreeBSD, no? What’s wrong with requiring people to use gmake? Are there actually platforms where GNU Make isn’t trivially installable?
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
It makes building Python on FreBSD more annoying and complicated. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
If someone wants to use more advanced Makefile rule, I suggest to rewrite the whole Python build system with CMake, Meson or anything else. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is stale because it has been open for 30 days with no activity. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
unstale |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This change breaks support for BSD make on FreeBSD. I don't think that it's worth it, so I prefer to close it.
For libmpdec, there is a concrete plan for that: #115119. This PR is mostly about libmpdec, it only changes 6 lines about expat.
If someone disagrees, please open a discussion on discuss.python.org suggesting to drop support for BSD make and require GNU make on FreeBSD. There are also generic discussions about changing the whole Python build system, such as What do you want to see in tomorrow’s CPython build system?
If someone wants to propose a PR using Another approach would be to generate the code for |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.