[Rpm-maint] rpmtsOrder failed,
Panu Matilainen
pmatilai at redhat.com
Mon Jun 23 14:05:36 UTC 2008
On Mon, 23 Jun 2008, Johnson, Richard wrote:
> Folks--
>
> I've been having a bear of a time installing a suite of rpms where all
> dependencies are satisfied, only to fail in tsOrder. I've tracked the
> error down to this snippet from lib/depends.c (nrescans is initially 10)
>
> 1388 /* If a relation was eliminated, then continue sorting. */
> 1389 /* XXX TODO: add control bit. */
> 1390 if (nzaps && nrescans-- > 0) {
> 1391 rpmlog(RPMLOG_DEBUG, "========== continuing tsort ...\n");
> 1392 goto rescan;
> 1393 }
>
> Increasing the allowable rescans enables install to proceed. This makes
> me wonder why rescans are limited in the first place. My reading is
> that as long as nzaps!=0 progress was made and a rescan is appropriate.
>
> Or could someone enlighten me otherwise?
Ah, that... Indeed the limit of 10 is artificial, no real reason to stop
when progress can be made. Hitting that limit says you have a lot of
dependency loops in your package set (and probably a large set of packages
too). Now, dependency loops aren't exactly a good thing but failing
unnecessarily is just silly.
This was recently encountered in Fedora too and the artificial limit
removed there, only I forgot to apply it upstream (done now). Thanks for
reminding me :)
- Panu -
More information about the Rpm-maint
mailing list