[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] chicken-setup infinite loop
From: |
Alex Shinn |
Subject: |
Re: [Chicken-users] chicken-setup infinite loop |
Date: |
Sat, 28 Mar 2009 18:39:43 +0900 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.3 (darwin) |
Hi,
underspecified <address@hidden> writes:
> Under chicken 3.4.0, I have noticed that I can make chicken-setup enter
> into an infinite loop by telling it to fetch, but not install the http egg.
> I posit that the cause is a circular dependency somewhere among http's
> many dependencies, because eggs like rss with simpler dependencies
> do not loop.
The dependency tree in this case looks like:
http (regex-case url openssl)
regex-case ()
url (coerce uri)
coerce (miscmacros misc-extn)
miscmacros ()
misc-extn (stack miscmacros)
stack ()
uri (coerce miscmacros synch lookup-table)
synch ()
lookup-table (miscmacros misc-extn)
openssl ()
There's no circular dependency (that would arguably be a bug
in the eggs themselves, though chicken-setup should try to
handle it gracefully), just some diamond inheritance, but it
turns out the bug is triggered for any egg with any
dependencies.
I've checked in a simple fix which conditions out running
"install" on downloaded dependencies when -fetch is being
used.
Note this ugly mess has been rewritten in the upcoming
Chicken 4 and the setup program renamed to chicken-install.
Note also that the "http" egg also has an improved version
in Chicken 4 called "intarweb" :)
--
Alex