Changes between Initial Version and Version 2 of Ticket #59445
- Timestamp:
- Oct 22, 2019, 10:57:22 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #59445
-
Property
Summary
changed from
restore_ports.tcl script fails with the error "infinite loop" (deps bug)
torestore_ports.tcl script fails with the error "infinite loop" (deps cycle)
-
Property
Summary
changed from
-
Ticket #59445 – Description
initial v2 13 13 }}} 14 14 15 I did some investigation, adding diagnostic statements to `restore_ports.tcl` . My conclusion is that the underlying cause of the problem is an error in the script's gathering of dependencies for one port it was trying to restore, which so happened to cause a dependency cycle with another port it was also trying to restore. The cycle meant that it could not come up with an installation order for these two ports, andissued the "infinite loop" error message. Details below.15 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. 16 16 17 17 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.