gcc compilers to be supported by Macports, especially on older MacOS systems
Ken Cunningham
ken.cunningham.webuse at gmail.com
Wed Nov 20 14:04:11 UTC 2024
> On Nov 20, 2024, at 05:49, Sergio Had <vital.had at gmail.com> wrote:
>
>
> As a daily user of PowerPC systems for past 2+ years, I would gladly remove all non-Apple gcc versions besides:
>
> a) the current release (gcc14 at the moment);
> b) gcc10-bootstrap (to build initial toolchain);
> c) gcc7-bootstrap, if 10.4 actually needs it.
> d) gcc-devel, to test the current upstream (what I have as gcc-powerpc in my fork).
>
> All the rest belong to the history.
That would in practice leave older systems with only gcc-14 to use as a compiler to build ports, as the bootstrap ports cannot be used for building final ports (abi issues)
That is a very very shallow bench that I could not support.
>
> There is a problem with TFF/Aquafox, which are at the moment (until Palemoon fixes are complete) the best browsers on PowerPC, but they do not need a modern libgcc either. Arguably gcc48-bootstrap may be introduced as a temporary solution.
>
> If the main gcc is installed without version postfix, that removes a need to bother about revbumping R, MLton and OCaml which bake in specific compiler value.
>
> This is probably what I am going to do locally anyway, eventually.
>
> Having said that, the concern that something gets broken with a move to gcc14 is unjustified: it simply takes longer to build an archaic version of gcc if someone needs it. But why would one? I literally never had to use gcc5 or gcc7 ever since Kirill made gcc10-bootstrap which allowed to switch to gcc11.
> Across all MacPorts tree perhaps 1–2 ports require gcc7 presently. Those should be fixed or, if the code is hopelessly outdated, possibly dropped.
>
> gcc7 has no good use. It is obsolete, not maintained either by upstream or by MacPorts (nothing gets backported), not being able to build a lot of ports now, not supporting modern C++, broken on ppc64 etc. Forcing people use it as a main compiler is a disservice to them and unnecessary hassle for maintainers, since we get breakage reports which otherwise would not be there.
>
> To sum up:
> Right now old systems should be moved to gcc14, without modifying current arrangement. These two are independent issues.
> Upon consensus on libgcc is reached, that is to be addressed accordingly.
>
>
> Serge
>> On Nov 20, 2024 at 21:18 +0800, Ken Cunningham <ken.cunningham.webuse at gmail.com>, wrote:
>> Hi Riccardo, yes need your input!
>>
>> Reasoning for list I offerred:
>>
>> apple-gcc42 stays, of course. unique and needed on 10.4
>> gcc4.8 … tenfourfox
>> gcc5 … for the java compiler used in pdftoolkit on older systems
>> gcc7 … current default compiler used for 5 years now on 10.4/5, well known, but staring to be a few things it can’t build, hence the pressure to upgrade
>> gcc10 .. last one that builds without c++11 … little used, but we need a fallback about here, so this is a guess as to a good fallback
>> gcc14 … current, has been used for the past year or so as the default compiler on ppc (by a small number of people TBH)
>>
>> If this is to be useful and worth doing, the list needs to be shortish.
>>
>> Another could be added later I suppose, but would be some pain.
>>
>> All others would be dropped, (except the bootstraps) as anything they built would potentially ABI breaking due to mismatched libs.
>>
>>
>>> On Nov 20, 2024, at 02:16, Riccardo Mottola <riccardo.mottola at libero.it> wrote:
>>>
>>> Hi Ken,
>>>
>>> I think in the past, I asked for something similar.
>>>
>>> Two questions:
>>> 1) if a user wants a compiler beyond the "golden list"? will you remove the ports alltogether or will it just mean for him more compilation because it builds another libgcc?
>>> 2) can we start with a minimal list and then "tweak" things if we discover some software not building and add e.g. one or two versions later?
>>>
>>> Ken Cunningham wrote:
>>>> The list of uniquely useful gcc compilers might be as short as:
>>>>
>>>> gcc-4.8, gcc5, gcc7, gcc10, and gcc-14.
>>>>
>>>> All those already build on the older systems, and are at least a manageable list of versions to maintain.
>>>>
>>>> Could we ask for thoughts and possible get consensus that the list of gcc compilers supported by MacPorts be shortened to a list such as that?
>>>
>>> Making this list is I think a trade-off between a newer compiler breaking old code and capability of also compiling newer software.
>>>
>>> My favorite is usually:
>>>
>>> gcc4.8 (very good for old stuff... very stable everywhere and never found the need to use gcc 4.2 instad of gcc 4.8 except to stick with apple versions)
>>> gcc 6.5 : best "classic" compiler on 10.5/10.6, reliable, definitely to be included in list
>>> gcc 8 : first "modern" compiler
>>>
>>> and then... gcc12 or 13 just because I used them long time and gcc14 is new, undecdided about which to choose
>>>
>>> I think gcc5 can be dropped.. either 4.8 or 6.5 should do
>>>
>>> gcc7 has been for a year the newest compiler on 10.5 for me, but can it be replaced by 6.5 or gcc8?
>>>
>>> gcc10: could we try do drop it and have latest?
>>> gcc14 - I have used it very little on MacOS - but I do on linux and it is very finky...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20241120/1ab159fe/attachment-0001.htm>
More information about the macports-dev
mailing list