Greetings,
Thanks for the reply and the fix.

It may be pointless to bring it up if chicken-setup has already been
rewritten, but i do not get the infinite loop for every package:

$ chicken-setup -f rss

File rss.egg or rss.setup not found in the download directory.
Do you want to download .egg archive ? (yes/no/abort) [yes]
downloading required extensions (ssax) ...
downloading ssax.egg from (www.call-with-current-continuation.org eggs/3
80)
installing required extensions ...
downloading ssax.egg from (www.call-with-current-continuation.org eggs/3 80)
..
downloading rss.egg from (www.call-with-current-continuation.org eggs/3 80)
.
$

In any case, I look forward to getting on the intarweb with Chicken 4 :-)

--underspecified

On Mar 28, 2009, at 6:39 PM, Alex Shinn wrote:

Hi,

underspecified <[email protected]> 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
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to