[MacPorts] #59445: restore_ports.tcl script fails with the error "infinite loop" (deps cycle)
MacPorts
noreply at macports.org
Wed Oct 23 10:30:49 UTC 2019
#59445: restore_ports.tcl script fails with the error "infinite loop" (deps cycle)
---------------------+--------------------
Reporter: JDLH | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: base | Version: 2.6.2
Resolution: | Keywords:
Port: |
---------------------+--------------------
Changes (by JDLH):
* version: => 2.6.2
Old description:
> I recently updated my macOS version from 10.11 El Capitan to macOS High
> Sierra 10.13.6. I am following the [wiki:Migration Migration
> instructions].
>
> When I ran the `restore_ports.tcl` script, it failed with the error
> message:
>
> {{{
> Error: we appear to be stuck, exiting...
> infinite loop
> while executing
> "sort_ports $portList"
> invoked from within
> "set operationList [sort_ports $portList]"
> (file "./restore_ports.tcl" line 285)
> }}}
>
> I did some investigation, adding diagnostic statements to
> `restore_ports.tcl` . My conclusion is that the underlying cause of the
> problem is that: a) some of the ports in my list had a mutual dependency
> cycle, and b) the script could not come up with an installation order for
> these two ports. Thus it issued the "infinite loop" error message.
> Details below.
>
> My **workaround** was to edit my list of ports to restore. I looked at
> the ports involved in the cycle. One was clearly little used, I didn't
> even recognise it. I removed that from my list of ports. I also had
> hundreds of entries for old versions of ports which were no longer
> active; I removed all of them also. With this change, `restore_ports.tcl`
> was able to avoid the dependency cycle, and the restore is underway.
>
> This problem is similar to #49210 'restore_ports.tcl script on fails on
> El Capitan with the error "infinite loop"'. That ticket did not come up
> with a clear solution to their problem, and it is closed and four years
> old. I think it's better to open a new ticket than to add this commentary
> on to that ticket. Hopefully others with this problem will find the
> workaround helpful, even before the underlying bug gets fixed.
>
> **Versions**: \\
> macOS High Sierra 10.13.6 \\
> Xcode 10.1 [but I think not involved in this bug] \\
> restore_ports.tcl: https://github.com/macports/macports-
> contrib/raw/master/restore_ports/restore_ports.tcl (I believe commit
> 75135bd from Mar 24, 2015). \\
> Port with incorrect dependency calculation: librsvg \\
> Port incorrectly listed as dependency, causing cycle: adwaita-icon-theme
New description:
I recently updated my macOS version from 10.11 El Capitan to macOS High
Sierra 10.13.6. I am following the [wiki:Migration Migration
instructions].
When I ran the `restore_ports.tcl` script, it failed with the error
message:
{{{
Error: we appear to be stuck, exiting...
infinite loop
while executing
"sort_ports $portList"
invoked from within
"set operationList [sort_ports $portList]"
(file "./restore_ports.tcl" line 285)
}}}
I did some investigation, adding diagnostic statements to
`restore_ports.tcl` . My conclusion is that the underlying cause of the
problem is that: a) some of the ports in my list had a mutual dependency
cycle, and b) the script could not come up with an installation order for
these two ports. Thus it issued the "infinite loop" error message. Details
below.
My **workaround** was to edit my list of ports to restore. I looked at the
ports involved in the cycle. One was clearly little used, I didn't even
recognise it. I removed that from my list of ports. I also had hundreds of
entries for old versions of ports which were no longer active; I removed
all of them also. With this change, `restore_ports.tcl` was able to avoid
the dependency cycle, and the restore is underway.
This problem is similar to #49210 'restore_ports.tcl script on fails on El
Capitan with the error "infinite loop"'. That ticket did not come up with
a clear solution to their problem, and it is closed and four years old. I
think it's better to open a new ticket than to add this commentary on to
that ticket. Hopefully others with this problem will find the workaround
helpful, even before the underlying bug gets fixed.
**Versions**: \\
macOS High Sierra 10.13.6 \\
Xcode 10.1 [but I think not involved in this bug] \\
restore_ports.tcl: https://github.com/macports/macports-
contrib/raw/master/restore_ports/restore_ports.tcl (I believe commit
75135bd from Mar 24, 2015). \\
Ports forming dependency cycle: librsvg, adwaita-icon-theme
--
Comment:
Update: changed description of ports involved to say neutral "form cycle",
instead of saying script listed dependencies wrong for one port. Added
MacPorts version number.
--
Ticket URL: <https://trac.macports.org/ticket/59445#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list