Ken:
Thank you for your explanation. I can imagine this is how my ports
collection came to include gcc-devel/libgcc-devel.
On 2023-10-17 00:36, Ken Cunningham <ken.cunningham.web...@gmail.com> wrote:
There was a time when the only version of gcc that built on arm64 was
gcc-devel/libgcc-devel. So ports put a specific dependency on that on arm. This
was a long time ago now. It got things built.
Then various gcc versions came out, gcc-12, gcc-13 that would build on arm64
(with extra patches, but would build). So the dependency on
gcc-devel/libgcc-devel was removed.
But there are situations where if you had already installed some ports, you
were stuck in the gcc-devel loop due to recorded variant history. Or if you had
gcc-devel installed / libgcc-devel, it just kept on getting updated.
None of this is ideal... It was just "expedient" as a Way To Get Things Done
when things are imperfect.
Same thing happens with perl and python and other supporting ports.
MacPorts has been trying to purge all this kind of stuff out of the ports tree
-- but it's hard, and complicated, and there is still lots and lots of it in
there. Josh has made specific changes to try to reduce this recorded clutter.
This is very helpful information. I am trying to figure out a way to
package it into a wiki article, so that it can help the next person who
has my question. For now, it is in the macports-users list archives,
where searches can find it.
One of my questions was, "was deactivating libgcc-devel and explicitly
installing gcc13 the right way to fix this problem?" From your mention
of "gcc-12, gcc-13 [coming out] which would build on arm64, I infer that
it was an acceptable way to fix the problem. But you seem to have a
different way to solve it:
What I do is keep track of the ports I actually want installed by using
"requested".
Then every so often I delete all my ports, and reinstall them all freshly (not
using the restore script, as that records the old variants I'm trying to get
rid of) to pick up all the new defaults that have crept in over the period of
time since I did it last.
By doing that, you get all the new perl versions, python versions, gcc
versions, etc.
Clever!
One question of mine which did not get answered: "Q: why are ports like
fftw-3 reported as dependents of port libgcc-devel? I don't see anything
in fftw-3's portfile[2] which mentions port libgcc-devel, or indeed any
gcc or libgcc, are dependencies.
"I suspect there is some behind-the-scenes dependency addition. Maybe it
is behind the scenes because so many ports depend on C or C++ compilers.
Where is this dependence addition documented? How should I as a user
think of it?"
Best regards,
—Jim DeLaHunt