[gobolinux-users] freshen 2.2.7 crash
Michael Homer
gobo-users-dufus at wotfun.com
Fri Sep 21 12:19:27 NZST 2007
On 9/18/07, Michael Homer <gobo-users-dufus at wotfun.com> wrote:
> On 9/18/07, Jonas Karlsson <jonka750 at student.liu.se> wrote:
> > 2007/9/17, kenneth marken <k-marken at online.no>:
> > > Freshen: Error: topological sort failed: ["Cairo", "Xorg", "DBus", "GTK+", "Pango", "HAL", "DBus-GLib"] [TSort::Cyclic]
> > > Backtrace:
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:153:in `tsort_each'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:184:in `each_strongly_connected_component'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:211:in `each_strongly_connected_component_from'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:220:in `each_strongly_connected_component_from'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:210:in `each_strongly_connected_component_from'
> > > /Programs/Freshen/2.2.7/lib/depsort.rb:22:in `each'
> > > /Programs/Freshen/2.2.7/lib/depsort.rb:22:in `tsort_each_child'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:204:in `each_strongly_connected_component_from'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:183:in `each_strongly_connected_component'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:181:in `tsort_each_node'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:181:in `each_strongly_connected_component'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:149:in `tsort_each'
> > > /Programs/Ruby/1.8.6-r1/lib/ruby/1.8/tsort.rb:136:in `tsort'
> > > /Programs/Freshen/2.2.7/lib/freshen-functions.rb:379:in `produceUpdatesList'
> > > /System/Links/Executables/Freshen:560:in `sysStatus'
> > > /System/Links/Executables/Freshen:188:in `run'
> > > /System/Links/Libraries/ruby/site_ruby/1.8/gobo.rb:187:in `start'
> > > /System/Links/Executables/Freshen:694
> > >
> > > it seems to have issues with this package:
> > > Intltool 0.35.5-r1
> > >
> > Seems like an issue with a cyclic graph to me. Xorg and DBus each
> > depend on eachother (since Xorg 7.3) and with Xorg depending on DBus
> > and HAL one can make a bunch of cycles of the above listing.
> Yes, that's it. There's no possible way to order them such that each
> one comes after its dependencies, so it chokes. I have special-cased a
> few programs when I've noticed that they caused the problem for me,
> but I don't think that's really the right way to go about it. I'm not
> sure what -is- the right way to do it either.
>
> The hacky way to fix it is either a) add entries like those on lines
> 79-80 of depsort.rb for packages, or b) use the
> exclude-asserting-compatibility option/exceptButCompatible config
> entry to strip them out of the graph (which I don't think will work in
> all cases).
>
> I am open to suggestions for how to avoid this problem. Those entries
> are in the Dependencies for good reason (ChrootCompile), so they can't
> be removed from there, but ignoring dependencies in general isn't an
> option either.
I have written some code that will often fix these incompatibilities
based on Hisham's suggestion, checked it in, and released 2.2.8
(hitting a recipe repository near you within two hours, or available
at http://e.geek.nz/files/gobo/Freshen--2.2.8--i686.tar.bz2). It's not
perfect, and it may result in an infinite loop sometimes (in theory,
anyway), but it produces a sensible order for the examples of the
problem I could find on my system. Something like `Compile GTK+` if
you don't have Xorg installed already might be a problem, though.
Test it, see if it works for you.
-Michael
More information about the gobolinux-users
mailing list