-
-
Notifications
You must be signed in to change notification settings - Fork 516
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
Remove gcc spkg, keep gfortran #32532
Comments
comment:1
Dima's original ticket description: This is a followup to #32060. Building gcc from source is very hard, and unnecessary for any platform Sage supports now. Same applies to gfortran, with macOS being an exception - there is no (g)fortran coming from the system. So we need such an easy to install replacement, e.g. one provided by Conda, Homebrew, MacPorts, etc. Should the need arise for something more isolated, (hopefully not), there are experimental standalone distributions of gfortran for macOS, by the gfortran maintainer of the Homebrew package. This offers a way to entirety remove gcc and gfortran spkgs from Sage. https://github.com/fxcoudert/gfortran-for-macOS - specifically, Other Fortran possibilities are various closed source offers, e.g. from Intel and NAG, |
This comment has been minimized.
This comment has been minimized.
comment:3
There are no build problems with gfortran - #32060 comment:36 |
comment:5
yet, building gfortran is useless waste of resources - it takes a lot of time, etc. |
comment:6
Removing it puts a fresh obstacle in the way of pip-installability -- no, thanks. |
comment:7
Since removing gfortran is controversial, please drop the idea or discuss on sage-devel. It should not be settled here. |
comment:8
Replying to @mkoeppe:
how come removing gcc spkg does not create such an obstacle, whereas it does for gfortran? Besides, if you need to build gcc in order to build gfortran, the latter cannot be counted as unproblematic. |
comment:9
still needs adding some Fortran to CI for the minimal macOS configuration. Last 10 new commits:
|
Branch: u/dimpase/packages/removegcc |
Commit: |
comment:10
also, CI tests for obsolete gcc-4 based distros are gone, about time. |
comment:11
Replying to @dimpase:
Python dev environments have a gcc. If they don't, we can't help them anyway. Python dev environments don't have gfortran. gfortran is not pip-installable. The few Python packages that use gfortran have high-quality deployments of wheels to PyPI, which are widely used. Sage does not (yet?) have a working strategy that would enable us to use wheels from PyPI. The first step to pip-installability in #29039 builds everything from source.
Come again? No, we don't do that on any platform. |
comment:12
Replying to @mkoeppe:
gcc is not pip-installable, either. The only scenario where developers have no Fortran, but "gcc" (for some value of "gcc", e.g. Apple clang) is on macOS, as far as I know. Needless to say, we should test that this is feasible without using !Homebrew/Conda/macports,
OK, and this setting will need a Fortran compiler in addition to a C/C++ compiler.
on gcc-4-based platforms we build gcc+gfortran, no? |
comment:13
Replying to @dimpase:
Please... I just explained it. "Python dev environments have a gcc". Why? Because lots of Python packages need a working C/C++ compiler. I explained why the gfortran situation is different. |
comment:14
Replying to @mkoeppe:
It's not different, as Fortran compilers are easy to come by these days. The philosophy of this ticket is that we should cut our losses we had while trying to vendor everything imaginable, spending human resources on thankless tasks such as vendoring gcc/gfortran, |
comment:15
-1 on creating new real problems in order to fix imaginary problems. |
comment:16
Replying to @mkoeppe:
No Python project I know vendors compilers. Lack of developer time is very real problem, and you keep perpetuating this problem |
Author: Dima Pasechnik |
comment:17
I did a run on GitHub Actions: https://github.com/dimpase/sagetrac-mirror/actions/runs/1258945033 |
This comment has been minimized.
This comment has been minimized.
comment:18
Let's please drop this. |
@dimpase Happy new year. I have collected facts regarding gcc/gfortran in the Sage distribution in the PR description. Please take a look, and if you have any evidence regarding the costs of maintenance, please add the references here. |
Season's greetings. I don't see how commits are relevant there. I do recall a number of cases of Sage users who wanted a build from source and ended up trying to build gcc or gfortran spkg from source, including at least one of my students (3rd or 4th year), and and a few of our GSoC students who ran into this trap, too. |
Find them and link them, or I'll assume it happened before 2019. |
How on Earth do you expect me to provide a detailed evidence of complaints by students ? Is it a trial? |
@dimpase In https://groups.google.com/g/sage-devel/c/RdSImkzRxJI/m/CMKBJ6u6BAAJ, you denounced my edit of the PR description as "questionable". What exactly is it that you find questionable. |
Why do you list all these commits there? |
The commits document the maintenance cost and who did the work. |
these are irrelevant. |
No amount of work done on a wrong design can justify keeping the wrong design around - and this is exactly what you are doing here. "look, it's me, me, me, who did all the work, how dare you say it must go ?!" |
Neither do you get to declare it's "irrelevant", nor do you get to declare that it's "the wrong design". Try constructing an actual argument. |
I am saying that you don't have an argument for listing these commits there, because it is irrelevant who wrote that code. If the code is useless then it has to go. The only meaningful use of the gfortran spkg in the past years was @jhpalmieri use of gfortran during a few weeks Homebrew's gfortran was broken for a particular bleeding edge hardware and software platform, during a summer holiday season. There was no meaningful use of the gcc spkg whatsoever. |
Dima, you publicly denounced my edits as "questionable", so you'll have to do a bit more work than just declaring the added info as "irrelevant". |
Both of these declarations are false. It's OK if you don't know better. And it's not a big surprise that you don't know better -- because you have not been involved in the maintenance of these packages. That's one thing that is documented by the list of commits. @dimpase replied by editing this comment: no amount of meaningless work done justifies the meaningless work. Sage would be much better served by removal of these spkgs. |
I've made it a principle of my work to assume that others act in good faith, and have been willing to take this principle to extremes. Because of this, my interpretation is simply that you cannot trust your memory on which you base your repeated declarations (which are not supported by facts). Despite the absoluteness of the types of declarations that you are making ("no meaningful use whatsoever" etc.), in the end your line of reasoning is a cost-benefits analysis. That's why I have spent the time to collect and organize the facts regarding costs and benefits in the ticket box. You are welcome to help with this collection and organization. |
the problem is that you assume that others act in good faith, but I increasingly see you not acting in good faith. Just look at the number of U-turns you made on this ticket - with an obvious intention to stop it by whatever means. |
You can only justify packaging gcc and gfortran if you are trying to build a (badly designed) clone of Conda. If you are building a clone of Conda then it's high time to fork sagelib, and run away. If you are not building a clone of Conda then gcc and gfortran are good to go. |
You have said that and made worse accusations regarding my intent many times already, in #36726 and other places. This is abusive conduct. I've called you out on it on many times. That you keep continuing with it is a display of disrespect. |
You've earned the disrespect, don't you see it? |
There is nothing abusive in pointing out that your point of view here is wrong, because it is. No matter how much meaningless data you pile up, a wrong design is wrong design. |
Please stop all discussion and other activity here. It is not accomplishing anything positive, and it could very well be causing harm: as with many of your other recent "discussions," if someone from outside stumbled onto them, they would be driven away from participating in Sage development. People already involved in Sage development may also be driven away. In other words, your actions are potentially causing direct harm to Sage development. |
Agreed. Please stop all discussion and other activity here. Go to [1] if you really must continue this discussion publicly. |
While I understand that there is a "dispute" here, we are since https://groups.google.com/g/sage-devel/c/IgBYUJl33SQ using the "disputed" label to mark PRs that require a vote. As discussed with the Code of Conduct committee I updated the description of the label to reflect that. If you want to point out comments that you think violate our Code of Conduct, then such violations should be reported to the committee. We will then decide whether to hide/delete these comments. |
That reporting was already done long ago. Still waiting for an acknowledgment from the committee. |
Discussions:
https://groups.google.com/g/sage-devel/c/cSsAsPuVnxg/m/yVSGUFi7BQAJ (June 2021)
https://groups.google.com/g/sage-devel/c/NfUKjAaTcUg/m/JwqDd7mVAwAJ (September 2021)
In this ticket:
Just downgrade the gcc spkg to experimental, to match our recommendations in the installation guide in #34528.
CC: @mkoeppe @vbraun @orlitzky @jhpalmieri
Component: packages: standard
Author: Dima Pasechnik
Branch/Commit: u/dimpase/packages/gcc_experimental @ 58ca5d2
Issue created by migration from https://trac.sagemath.org/ticket/32532
(NB: reverted to the original state; copuous edits by @mkoeppe, done in 2024 are still in history)
The text was updated successfully, but these errors were encountered: