/usr/local/bin/lynx: Bad CPU type in executable
ryandesign at macports.org
Sun Dec 22 15:04:11 UTC 2019
On Dec 22, 2019, at 04:13, Michael Newman wrote:
> When I got up this morning I found that a couple of scripts that I run overnight had failed with error 127. It seems that the scripts couldn’t find curl. So I checked, and sure enough, curl was missing. No worries, I can reinstall it.
> And then I wonder, what else is missing? I try:
> port list installed
Note that "port list installed" is not the command you want to run. It does not tell you what you think it tells you. You want to run "port installed" instead. See:
> and find that there are only two ports: lynx which I installed yesterday and curl which I had just installed.
> What happened? Well, just before installing lynx I did a selfupdate and upgrade. At the end of the upgrade I was invited to do a reclaim. So, I did. Now, admittedly, reclaim presented me with a huge long list of stuff it was going to remove. Whenever I look at all the ports on my machine I only recognize a handful; most are things I know nothing about and never requested, they’re just stuff that the ports I want depend on. Fair enough.
> However, it would be nice if reclaim warned you that it was working with an empty or near empty requested file.
There isn't a "requested file"; MacPorts keeps an SQLite database of what you have installed (it's called the registry) and each installed port has various attributes, including whether you requested it.
We could modify reclaim so that it prints a count of the ports that will be kept and a count of the ports that will be removed, in addition to printing the list of ports that will be removed. Would that have helped? If so, you could file a ticket in our issue tracker for that enhancement, or even implement it and submit a pull request.
> I’m sure that as part of the Catalina migration I did:
> sudo port unsetrequested installed
> xargs sudo port setrequested < requested.txt
> Either I forgot, or it didn’t work. In any event, apparently every installed port was removed.
I can't imagine that it didn't work, and if it didn't, it should have printed an error message that you would have noticed.
> Fortunately, I still had the myports.txt file, so I was able to use:
> sudo ./restore_ports.tcl myports.txt
> And get everything back.
> I find it a little scary that a few simple mistakes can cause such havoc.
Since reclaim prints a list of the ports it will remove, it seems like it's up to you to verify that there isn't anything on the list that you want to keep before confirming the action, and it should not be surprising or scary to you that MacPorts does then remove the ports it said it would remove if you allow it to do so.
More information about the macports-users